npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@mseep/firestore-advanced-mcp

v1.0.1

Published

Serveur MCP avancé pour Firestore avec support pour toutes les fonctionnalités avancées: transactions, requêtes composées, opérations atomiques, et plus

Readme

🔥 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.