Serveur MCP Firebase

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 :

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

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

Installer le serveur MCP

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 contenant firebase.json, pour définir un contexte de projet pour le serveur MCP. Si aucune valeur n'est spécifiée, les outils get_project_directory et set_project_directory deviennent 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) :
{
"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 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.