Skip to main content
Glama
diez7lm

Firestore Advanced MCP

by diez7lm
README.md‱5.8 kB
# đŸ”„ Firestore Advanced MCP ![Version](https://img.shields.io/badge/version-1.0.0-blue) ![License](https://img.shields.io/badge/license-MIT-green) ![Node](https://img.shields.io/badge/node-%3E%3D16.0.0-brightgreen) 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 ```bash npm install -g firestore-advanced-mcp ``` ### Via GitHub ```bash git clone https://github.com/diez7lm/firestore-advanced-mcp.git cd firestore-advanced-mcp npm install ``` ## 🔧 Configuration 1. **Obtenir votre clĂ© de compte de service Firebase** : - Allez sur la [console Firebase](https://console.firebase.google.com/) - 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 2. **DĂ©finir la variable d'environnement** : ```bash export SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" ``` ## đŸ–„ïž Utilisation ### Avec npm global ```bash SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" firestore-advanced-mcp ``` ### Avec npx ```bash SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" npx firestore-advanced-mcp ``` ### Depuis le rĂ©pertoire clonĂ© ```bash SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" node index.js ``` ### Configuration dans Claude Pour utiliser ce serveur MCP avec Claude, ajoutez la configuration suivante dans votre fichier `claude_desktop_config.json` : ```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 : ```json "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 document - `firestore_create` - CrĂ©er un nouveau document - `firestore_update` - Mettre Ă  jour un document existant - `firestore_delete` - Supprimer un document - `firestore_query` - ExĂ©cuter une requĂȘte avec filtres - `firestore_list_collections` - Lister les collections disponibles ### RequĂȘtes avancĂ©es - `firestore_collection_group_query` - RequĂȘte sur groupes de collections - `firestore_composite_query` - RequĂȘte avec filtres et tris multiples - `firestore_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Ă©rences - `firestore_set_ttl` - Configurer l'expiration automatique des documents - `firestore_transaction` - ExĂ©cuter une transaction composĂ©e de multiples opĂ©rations - `firestore_batch` - ExĂ©cuter des opĂ©rations par lot - `firestore_field_operations` - OpĂ©rations atomiques (increment, arrayUnion, etc.) - `firestore_full_text_search` - Recherche textuelle dans les documents ## 📝 Exemples ### RĂ©cupĂ©rer un document ```json { "collection": "users", "id": "user123" } ``` ### CrĂ©er un document avec rĂ©fĂ©rence Ă  un autre document ```json { "collection": "orders", "data": { "product": "Laptop", "price": 999.99, "fields": [ { "fieldPath": "user", "type": "reference", "value": "users/user123" } ] } } ``` ### Configurer TTL sur un document ```json { "collection": "temporaryData", "id": "session123", "expiresIn": 86400000, "fieldName": "expires_at" } ``` ### ExĂ©cuter une requĂȘte avec filtres multiples ```json { "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](LICENSE) pour plus de dĂ©tails. ## đŸ‘šđŸœâ€đŸ’» Auteur - Diez7lm ## 🙏 Remerciements - [Anthropic](https://www.anthropic.com/) pour Claude et le Model Context Protocol - [Firebase](https://firebase.google.com/) 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](https://firebase.google.com/docs/firestore). Pour en savoir plus sur le Model Context Protocol (MCP) et son utilisation avec Claude, consultez la [documentation d'Anthropic](https://docs.anthropic.com/claude/docs/model-context-protocol).

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/diez7lm/firestore-advanced-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server