Vous pouvez utiliser le serveur MCP Firebase pour permettre aux outils de développement optimisés par l'IA de fonctionner avec vos projets Firebase. Le serveur MCP Firebase fonctionne avec n'importe quel outil pouvant servir de client MCP, y compris Claude Desktop, Cline, Cursor, Visual Studio Code Copilot, Windsurf Editor, etc.
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
- Travailler avec des données dans Cloud Firestore et Firebase Data Connect
- Récupérez les schémas Firebase Data Connect.
- Comprendre vos règles de sécurité pour Firestore et Cloud Storage for Firebase
- Envoyer des messages avec Firebase Cloud Messaging
Il ne s'agit que d'une liste partielle. Pour obtenir la liste complète des outils disponibles pour votre éditeur, consultez la section Fonctionnalités du serveur.
Avant de commencer
Assurez-vous que votre installation de Node.js et npm fonctionne correctement.
Authentifiez la CLI Firebase en exécutant la commande suivante:
npx -y firebase-tools@latest login --reauth
Le serveur MCP Firebase utilise la CLI pour gérer l'authentification avec vos projets Firebase. Vous devez vous authentifier avec la CLI avant d'utiliser le serveur MCP. Si vous essayez d'utiliser le serveur sans vous connecter ou si votre jeton d'authentification a expiré, le serveur affiche un message d'erreur vous invitant à vous réauthentifier.
Configurer votre client MCP
Le serveur MCP Firebase peut fonctionner avec n'importe quel client MCP compatible avec les E/S standards (stdio) comme support de transport. Voici des instructions spécifiques pour certains outils populaires:
Configuration de base
Claude Desktop
Pour configurer Claude Desktop pour 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", "experimental:mcp"]
}
}
}
Cline
Pour configurer Cline pour qu'il utilise le serveur MCP Firebase, modifiez le fichier cline_mcp_settings.json
. Pour ouvrir ou créer ce fichier, cliquez sur l'icône des serveurs MCP en haut du volet "Cline", puis sur le bouton Configurer les serveurs MCP.
{
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"],
"disabled": false
}
}
}
Cursor
Pour configurer Cursor pour qu'il utilise le serveur MCP Firebase, modifiez le fichier .cursor/mcp.json
(pour ne configurer qu'un projet spécifique) ou le fichier ~/.cursor/mcp.json
(pour rendre le serveur MCP disponible dans tous les projets):
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
Copilot dans Visual Studio Code
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", "experimental:mcp"]
}
}
Pour rendre le serveur disponible dans chaque projet que vous ouvrez, modifiez vos paramètres utilisateur:
"mcp": {
"servers": {
"firebase": {
"type": "stdio",
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
}
Éditeur Windsurf
Pour configurer l'éditeur Windsurf, modifiez le fichier ~/.codeium/windsurf/mcp_config.json
:
"mcpServers": {
"firebase": {
"command": "npx",
"args": ["-y", "firebase-tools@latest", "experimental:mcp"]
}
}
Configuration facultative
En plus de la configuration de base pour chaque client, indiqué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 elle n'est pas spécifiée, les outilsget_project_directory
etset_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 des groupes de caractéristiques à activer, séparés par une virgule. Utilisez-le pour limiter les outils exposés uniquement aux fonctionnalités que vous utilisez activement. Notez que les outils de base sont toujours disponibles.
Exemple :
"firebase": {
"command": "npx",
"args": [
"-y",
"firebase-tools@latest", "experimental:mcp",
"--dir", "/Users/turing/my-project",
"--only", "auth,firestore,storage"
]
}
Capacités du serveur MCP
Nom de l'outil | Groupe de caractéristiques | Description |
---|---|---|
firebase_get_project | core | Récupère des informations sur le projet Firebase actuellement actif. |
firebase_list_apps | core | Récupère les applications enregistrées dans le projet Firebase actuel. |
firebase_get_admin_sdk_config | core | Récupère la configuration du SDK Admin pour le projet en cours. |
firebase_get_sdk_config | core | Récupère les informations de configuration du SDK Firebase pour la plate-forme spécifiée. Vous devez spécifier une plate-forme ou un app_id. |
firebase_create_project | core | Crée un projet Firebase. |
firebase_create_app | core | Crée une application dans votre projet Firebase pour le Web, iOS ou Android. |
firebase_create_android_sha | core | Ajoute un hachage de certificat SHA à une application Android existante. |
firebase_get_environment | core | Récupère des informations sur l'environnement Firebase actuel, y compris l'utilisateur authentifié actuel, le répertoire du projet, le projet actif, etc. |
firebase_update_environment | core | Met à jour la configuration de l'environnement Firebase, comme le répertoire du projet, le projet actif, le compte utilisateur actif, etc. Utilisez firebase_get_environment pour afficher l'environnement actuellement configuré. |
firebase_init | core | Initialise les fonctionnalités Firebase sélectionnées dans l'espace de travail. Toutes les fonctionnalités sont facultatives. Indiquez uniquement les produits que vous souhaitez configurer. Vous pouvez initialiser de nouvelles fonctionnalités dans un répertoire de projet existant, mais la réinitialisation d'une fonctionnalité existante peut écraser la configuration. |
firestore_delete_document | firestore | Supprime un document Firestore d'une base de données du projet en cours en fonction des chemins d'accès complets des documents. Utilisez cette option si vous connaissez le chemin d'accès exact d'un document. |
firestore_get_documents | firestore | Récupère un ou plusieurs documents Firestore à partir d'une base de données du projet en cours en fonction des chemins d'accès complets des documents. Utilisez cette option si vous connaissez le chemin d'accès exact d'un document. |
firestore_list_collections | firestore | Récupère une liste de collections à partir d'une base de données Firestore du projet en cours. |
firestore_query_collection | firestore | Récupère un ou plusieurs documents Firestore à partir d'une collection, qui est une base de données du projet en cours, par une collection avec un chemin d'accès au document complet. Utilisez cette option si vous connaissez le chemin exact d'une collection et la clause de filtrage que vous souhaitez appliquer au document. |
firestore_get_rules | firestore | Récupère les règles de sécurité Firestore actives pour le projet en cours. |
firestore_validate_rules | firestore | Vérifie la source de règles Firestore fournie pour détecter les erreurs de syntaxe et de validation. Fournissez SOIT le code source à valider SOIT un chemin d'accès à un fichier source. |
auth_get_user | auth | Récupère un utilisateur en fonction d'une adresse e-mail, d'un numéro de téléphone ou d'un ID utilisateur. |
auth_disable_user | auth | Désactive ou active un utilisateur en fonction d'un UID. |
auth_list_users | auth | Récupère tous les utilisateurs du projet jusqu'à la limite spécifiée. |
auth_set_claim | auth | Définit une revendication personnalisée sur le compte d'un utilisateur spécifique. Utilisez-le pour créer des valeurs approuvées associées à un utilisateur (par exemple, en le marquant comme administrateur). La taille des revendications est limitée, et leur nom et leur valeur doivent être succincts. Spécifiez UN SEUL des paramètres value ou json_value . |
auth_set_sms_region_policy | auth | Définit une règle de région SMS pour Firebase Auth afin de restreindre les régions pouvant recevoir des messages texte en fonction d'une liste d'autorisation ou de refus de codes pays. Si elle est configurée, cette règle remplace toutes les règles existantes. |
dataconnect_list_services | dataconnect | Répertoriez les services Firebase Data Connect disponibles dans le projet en cours. |
dataconnect_get_schema | dataconnect | Récupérez des informations sur le schéma Firebase Data Connect du projet, y compris les sources de données Cloud SQL et le schéma GraphQL décrivant le modèle de données. |
dataconnect_get_connectors | dataconnect | Obtenez les connecteurs Firebase Data Connect dans le projet, qui incluent les requêtes GraphQL prédéfinies accessibles aux SDK client. |
dataconnect_execute_graphql | dataconnect | Exécute un GraphQL arbitraire sur un service Data Connect ou son émulateur. |
dataconnect_execute_graphql_read | dataconnect | Exécute une requête GraphQL arbitraire sur un service Data Connect ou son émulateur. Impossible d'écrire les données. |
dataconnect_execute_mutation | dataconnect | Exécute une mutation Data Connect déployée sur un service ou son émulateur. Peut lire et écrire des données. |
dataconnect_execute_query | dataconnect | Exécute une requête Data Connect déployée sur un service ou son émulateur. Impossible d'écrire des données. |
storage_get_rules | stockage | Récupère les règles de sécurité Storage actives pour le projet en cours. |
storage_validate_rules | stockage | Vérifie la source des règles de stockage pour détecter les erreurs de syntaxe et de validation. Fournissez SOIT le code source à valider SOIT un chemin d'accès à un fichier source. |
storage_get_object_download_url | stockage | Récupère l'URL de téléchargement d'un objet dans Firebase Storage. |
messaging_send_message | messagerie | Envoie un message à un jeton d'enregistrement ou à un sujet Firebase Cloud Messaging. Vous ne pouvez fournir qu'UN SEUL élément registration_token ou topic dans un appel spécifique. |
remoteconfig_get_template | remoteconfig | Récupère un modèle de configuration à distance pour le projet |
remoteconfig_publish_template | remoteconfig | Publie un nouveau modèle de configuration à distance pour le projet |
remoteconfig_rollback_template | remoteconfig | Effectuer un rollback vers une version spécifique du modèle Remote Config pour un projet |
crashlytics_list_top_issues | crashlytics | Répertoriez les principaux plantages de Crashlytics dans l'application. |