Serveur MCP Firebase

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 :

  1. Dans Antigravity, cliquez sur le menu  dans le volet "Agent" > Serveurs MCP.
  2. 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 :

    1. Ajoutez la place de marché Firebase pour les plug-ins Claude :

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

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

      claude plugin marketplace list
  • Option 2 : Configurer manuellement le serveur MCP

    Vous pouvez également configurer manuellement le serveur MCP Firebase :

    1. Exécutez la commande suivante dans le dossier de votre application :

      claude mcp add firebase npx -- -y firebase-tools@latest mcp
    2. Vérifiez l'installation :

      claude mcp list

      Voici 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 :

Installer le serveur MCP

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 contenant firebase.json, pour définir un contexte de projet pour le serveur MCP. Si elle n'est pas spécifiée, les outils get_project_directory et set_project_directory deviennent 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) :
{
"parent": "projects/my-project/databases/(default)/documents",
"structured_aggregation_query": {
"structured_query": {
"from": [{"collection_id": "orders"}],
"where": {
"field_filter": {
"field": {"field_path": "status"},
"op": "EQUAL",
"value": {"string_value": "COMPLETED"}
}
}
},
"aggregations": [
{
"alias": "total_orders",
"count": {}
},
{
"alias": "average_amount",
"avg": {
"field": {"field_path": "amount"}
}
}
]
}
}
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).