Firestore Advanced
    Firestore Advanced

    Firestore Advanced

    Serveur MCP avancé pour Firebase Firestore avec support pour toutes les fonctionnalités avancées

    4.3

    GitHub Stats

    Stars

    4

    Forks

    1

    Release Date

    4/7/2025

    about 2 months ago

    Detailed Description

    🔥 Firestore Advanced MCP

    Version License Node

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

    Via GitHub

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

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

    Avec npx

    SERVICE_ACCOUNT_KEY_PATH="/chemin/vers/votre/serviceAccountKey.json" npx firestore-advanced-mcp
    

    Depuis le répertoire cloné

    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 :

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

    {
      "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.

    About the Project

    This app has not been claimed by its owner yet.

    Claim Ownership

    Receive Updates

    Security Updates

    Get notified about trust rating changes

    to receive email notifications.