@mseep/firestore-advanced-mcp v1.0.1
đ„ Firestore Advanced MCP
Serveur MCP (Model Context Protocol) avancé pour Firebase Firestore, permettant aux grands modÚles de langage comme Claude d'interagir de façon complÚte avec vos bases de données Firebase.
⚠Fonctionnalités
- đ Support complet de Firestore : CRUD, requĂȘtes composĂ©es, filtres multiples
- ⥠Opérations avancées : Transactions, opérations atomiques, mise à jour par lot
- đ Types de donnĂ©es spĂ©ciaux : GeoPoint, rĂ©fĂ©rences de documents, horodatages
- â±ïž Gestion TTL : Configuration du Time-To-Live pour les documents
- đ DĂ©tection intelligente des index manquants : Instructions automatiques pour crĂ©er les index nĂ©cessaires
- đŻ Recherche avancĂ©e : RequĂȘtes sur groupes de collections, filtres complexes
đ PrĂ©requis
- Node.js >= 16.0.0
- Un projet Firebase avec Firestore activé
- Une clé de compte de service Firebase (fichier JSON)
đ Installation
Via npm
npm install -g firestore-advanced-mcpVia GitHub
git clone https://github.com/diez7lm/firestore-advanced-mcp.git
cd firestore-advanced-mcp
npm installđ§ Configuration
Obtenir votre clé de compte de service Firebase :
- Allez sur la console Firebase
- Sélectionnez votre projet
- ParamĂštres du projet > Comptes de service
- Générez une nouvelle clé privée et téléchargez le fichier JSON
Définir la variable d'environnement :
export SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json"đ„ïž Utilisation
Avec npm global
SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" firestore-advanced-mcpAvec npx
SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" npx firestore-advanced-mcpDepuis le répertoire cloné
SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" node index.jsConfiguration dans Claude
Pour utiliser ce serveur MCP avec Claude, ajoutez la configuration suivante dans votre fichier claude_desktop_config.json :
"firebase-mcp": {
"command": "npx",
"args": ["firestore-advanced-mcp"],
"env": {
"SERVICE_ACCOUNT_KEY_PATH": "/chemin/vers/votre/serviceAccountKey.json"
}
}Ou pour une version installée localement :
"firebase-mcp": {
"command": "node",
"args": ["/chemin/vers/firestore-advanced-mcp/index.js"],
"env": {
"SERVICE_ACCOUNT_KEY_PATH": "/chemin/vers/votre/serviceAccountKey.json"
}
}đ ïž Outils disponibles
Le serveur fournit les outils suivants Ă Claude :
Opérations de base
firestore_get- RĂ©cupĂ©rer un documentfirestore_create- CrĂ©er un nouveau documentfirestore_update- Mettre Ă jour un document existantfirestore_delete- Supprimer un documentfirestore_query- ExĂ©cuter une requĂȘte avec filtresfirestore_list_collections- Lister les collections disponibles
RequĂȘtes avancĂ©es
firestore_collection_group_query- RequĂȘte sur groupes de collectionsfirestore_composite_query- RequĂȘte avec filtres et tris multiplesfirestore_count_documents- Compter les documents sans tout rĂ©cupĂ©rer
Types spéciaux et fonctionnalités avancées
firestore_special_data_types- Gérer les GeoPoints et référencesfirestore_set_ttl- Configurer l'expiration automatique des documentsfirestore_transaction- Exécuter une transaction composée de multiples opérationsfirestore_batch- Exécuter des opérations par lotfirestore_field_operations- Opérations atomiques (increment, arrayUnion, etc.)firestore_full_text_search- Recherche textuelle dans les documents
đ Exemples
Récupérer un document
{
"collection": "users",
"id": "user123"
}Créer un document avec référence à un autre document
{
"collection": "orders",
"data": {
"product": "Laptop",
"price": 999.99,
"fields": [
{
"fieldPath": "user",
"type": "reference",
"value": "users/user123"
}
]
}
}Configurer TTL sur un document
{
"collection": "temporaryData",
"id": "session123",
"expiresIn": 86400000,
"fieldName": "expires_at"
}ExĂ©cuter une requĂȘte avec filtres multiples
{
"collection": "products",
"filters": [
{
"field": "category",
"operator": "==",
"value": "electronics"
},
{
"field": "price",
"operator": "<",
"value": 1000
}
],
"orderBy": {
"field": "price",
"direction": "asc"
},
"limit": 10
}đ Licence
Ce projet est sous licence MIT - voir le fichier LICENSE pour plus de détails.
đšđœâđ» Auteur
- Diez7lm
đ Remerciements
- Anthropic pour Claude et le Model Context Protocol
- Firebase pour Firestore et les outils de développement
đŠŸ Contribution
Les contributions sont les bienvenues ! N'hésitez pas à soumettre une pull request ou à signaler des problÚmes via les issues GitHub.
đ Documentation supplĂ©mentaire
Pour plus d'informations sur l'utilisation de Firestore avec Firebase, consultez la documentation officielle de Firebase.
Pour en savoir plus sur le Model Context Protocol (MCP) et son utilisation avec Claude, consultez la documentation d'Anthropic.
8 months ago