Le serveur MCP Firebase est un serveur MCP (Model Context Protocol) local qui s'exécute dans votre environnement de développement pour permettre aux outils pour les développeurs optimisés par l'IA de fonctionner avec vos projets Firebase et le codebase de votre application.
Le serveur MCP Firebase fonctionne avec n'importe quel outil pouvant agir en tant que client MCP, y compris Antigravity, Claude Code et Claude Desktop, Cline, Cursor, VS Code Copilot, Windsurf et bien d'autres.
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 pour 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 entrées/sorties standards (stdio) comme moyen de transport.
Lorsque le serveur MCP Firebase effectue des appels d'outils, il s'exécute localement dans votre environnement à l'aide des mêmes identifiants utilisateur que ceux qui autorisent la CLI 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 installés et fonctionnent correctement.
Configuration de base
Voici les instructions de configuration de base pour utiliser le serveur MCP Firebase avec certains outils d'assistance IA populaires :
Antigravity
Pour configurer Antigravity afin d'utiliser 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 alors automatiquement mis à jour. Vous pouvez le consulter en cliquant sur Gérer les serveurs MCP en haut du volet "Store MCP" > Afficher la configuration brute. Il contient les éléments suivants :
{
"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 depuis le menu Claude > Settings (Claude > Paramètres). Sélectionnez l'onglet Developer (Développeur), puis cliquez sur Edit Config (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 d'agent Firebase.
Option 2 : Configuration du MCP en un clic
Si vous souhaitez uniquement ajouter le serveur MCP à 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 si vous souhaitez modifier vos paramètres manuellement, mettez à jour votre fichier mcp.json :
- Pour un projet spécifique, modifiez
.cursor/mcp.json. - Pour tous les projets (global), 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 que le serveur soit 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"]
}
}
}
Planche à voile
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 de chaque client, présentée précédemment, 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 aucune valeur n'est spécifiée, les outilsget_project_directoryetset_project_directorydeviennent disponibles, et le répertoire par défaut est 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 seules fonctionnalités que vous utilisez activement. Notez que les outils de base sont toujours disponibles.
Exemple :
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest", "mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
Capacités du serveur MCP
Le serveur MCP Firebase propose trois catégories de fonctionnalités MCP :
Prompts : bibliothèque de prompts prédéfinis que vous pouvez exécuter. Ils sont optimisés pour développer et exécuter une application avec Firebase.
Outils : ensemble d'outils destinés aux agents 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 IA pour leur fournir plus d'instructions et de contexte afin d'accomplir une tâche ou d'atteindre un objectif.
Prompts
Le serveur Firebase MCP est fourni avec une bibliothèque de prompts prédéfinis optimisés pour le développement et l'exécution d'une application avec Firebase. Vous pouvez utiliser ces prompts pour effectuer différentes tâches ou atteindre différents objectifs courants avec vos assistants IA agentifs.
Le tableau suivant décrit les requêtes que le serveur MCP met à disposition.
De nombreux outils pour les développeurs compatibles avec le MCP offrent un moyen pratique d'exécuter ces prompts. Par exemple, sous forme de commande à barre oblique :
/firebase:init
Dans les environnements compatibles, vous pouvez commencer à saisir /firebase: pour afficher la liste des prompts 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) : 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 aux agents IA pour les aider à travailler directement avec votre projet Firebase (avec votre approbation). Contrairement aux prompts, vous n'appelez pas ces outils directement. En revanche, les agents IA qui acceptent l'appel d'outils (comme Antigravity, Claude Code ou Cursor) peuvent appeler automatiquement ces outils 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 Auth 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 de région pour les SMS autorisant ou refusant des indicatifs 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épertoriez toutes les applications Firebase enregistrées dans le projet actif. |
| firebase_list_projects | core | Répertorie 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 d'une application Firebase enregistrée. |
| firebase_create_project | core | Créez un projet Firebase ou activez les services Firebase sur 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 de la CLI Firebase et du 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 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 sur votre projet. |
| firebase_deploy_status | core | Vérifiez l'état et la progression d'un job 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 | Répertoriez les événements de plantage et d'exception 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 de plantage et d'exception par nom de ressource pour le débogage. |
| crashlytics_list_notes | crashlytics | Répertoriez 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 (OPEN ou CLOSED) 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é de 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 | Répertoriez 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 depuis Google Cloud Logging. |
| functions_list_functions | fonctions | Répertoriez toutes les fonctions Cloud Functions 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 effectuez un rollback vers 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 | Récupérez 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 à partir 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 | Répertoriez les documents d'une base de données Firestore. |
| firestore_list_collections | firestore | Répertorie 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 sur une base de données 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 obligatoires : - 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 | Récupérez une base de données Firestore. |
| firestore_list_databases | firestore | Répertorier les bases de données Firestore. |
| firestore_update_database | firestore | Mettre à jour une base de données Firestore. |
| firestore_delete_database | firestore | Supprimer une base de données Firestore. |
| firestore_create_index | firestore | Créer un index composite. |
| firestore_get_index | firestore | Obtenir un index Firestore. |
| firestore_list_indexes | firestore | Répertorier les index Firestore. |
| firestore_delete_index | firestore | Supprimer un index Firestore. |
| firestore_get_backup | firestore | Obtenir une sauvegarde Firestore. |
| firestore_list_backups | firestore | Répertorier les sauvegardes Firestore. |
| firestore_delete_backup | firestore | Supprimer une sauvegarde Firestore. |
| firestore_create_backup_schedule | firestore | Créer une programmation de sauvegarde Firestore. |
| firestore_get_backup_schedule | firestore | Obtenir une programmation de sauvegarde Firestore. |
| firestore_list_backup_schedules | firestore | Répertorier les planifications de sauvegarde Firestore. |
| firestore_update_backup_schedule | firestore | Mettre à jour une programmation de sauvegarde Firestore. |
| firestore_delete_backup_schedule | firestore | Supprimez une planification de sauvegarde Firestore. |
| firestore_get_backup | firestore | Obtenir une sauvegarde Firestore. |
| firestore_list_backups | firestore | Répertorier les sauvegardes Firestore. |
| firestore_delete_backup | firestore | Supprimer une sauvegarde Firestore. |
| firestore_create_backup_schedule | firestore | Créer une programmation de sauvegarde Firestore. |
| firestore_get_backup_schedule | firestore | Obtenir une programmation de sauvegarde Firestore. |
| firestore_list_backup_schedules | firestore | Répertorier les planifications de sauvegarde Firestore. |
| firestore_update_backup_schedule | firestore | Mettre à jour une programmation de sauvegarde Firestore. |
| firestore_delete_backup_schedule | firestore | Supprimez une planification de sauvegarde Firestore. |
| developerknowledge_search_documents | developerknowledge | Utilisez cet outil pour trouver de la documentation sur les produits Google pour les développeurs. Les documents contiennent des API officielles, des extraits de code, des notes de version, des bonnes pratiques, des guides, des informations de débogage, etc. 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 fragments de texte, des noms et des URL pour les documents correspondants. Si les fragments 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 requête sur les produits Google Developers. 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 fonde les réponses sur le même corpus que search_documents. Cet outil renvoie le texte de la réponse générée (answer_text) 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 des documents pour récupérer l'intégralité du contenu du document si nécessaire. Si vous obtenez une erreur 429 de quota dépassé, utilisez search_documents à la place. |
| developerknowledge_get_documents | developerknowledge | Utilisez cet outil pour récupérer l'intégralité du contenu d'un seul document ou de 20 documents maximum en un seul appel. Les noms des 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 des agents IA. Les agents qui acceptent l'utilisation de ressources incluront 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 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'examen des rapports de bug 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 traite des problèmes Crashlytics, y compris les règles de priorisation 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 dans la configuration des services de backend Firebase dans le projet actuel |
| ai_init_guide | Guide d'initialisation de l'IA générative Firebase : guide l'agent de codage dans la configuration des 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 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 configuration 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 pour le déploiement sur Firebase Hosting dans le projet actuel |
| Mettre à jour l'UI de l'environnement | Interface visuelle permettant de sélectionner le projet Firebase actif |
| Déployer l'UI | Interface visuelle pour le déploiement Firebase |
| Init UI | 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. |