/ Annuaire / Playground / MongoDB MCP Server
● Communauté kiliczsh 🔑 Nécessite votre clé

MongoDB MCP Server

par kiliczsh · kiliczsh/mcp-mongo-server

Donnez à Claude une chaîne de connexion MongoDB et laissez-le interroger, agréger et inspecter les schémas — avec un flag --read-only pour la sécurité en production.

mcp-mongo-server est un serveur MCP sans fioritures pour MongoDB. Passez un URI de connexion comme seul argument et Claude dispose de find, aggregate, indexes, inférence de schéma et introspection de collections. Intègre un flag --read-only qui désactive tous les outils de mutation — utilisez-le quand vous voulez que Claude explore la prod sans y toucher.

Pourquoi l'utiliser

Fonctionnalités clés

Démo en direct

Aperçu en pratique

mongo-mcp-kiliczsh.replay ▶ prêt
0/0

Installer

Choisissez votre client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mongo-mcp-kiliczsh": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-mongo-server",
        "mongodb://localhost:27017/mydb"
      ]
    }
  }
}

Ouvrez Claude Desktop → Settings → Developer → Edit Config. Redémarrez après avoir enregistré.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mongo-mcp-kiliczsh": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-mongo-server",
        "mongodb://localhost:27017/mydb"
      ]
    }
  }
}

Cursor utilise le même schéma mcpServers que Claude Desktop. La config projet l'emporte sur la globale.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mongo-mcp-kiliczsh": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-mongo-server",
        "mongodb://localhost:27017/mydb"
      ]
    }
  }
}

Cliquez sur l'icône MCP Servers dans la barre latérale Cline, puis "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mongo-mcp-kiliczsh": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-mongo-server",
        "mongodb://localhost:27017/mydb"
      ]
    }
  }
}

Même format que Claude Desktop. Redémarrez Windsurf pour appliquer.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mongo-mcp-kiliczsh",
      "command": "npx",
      "args": [
        "-y",
        "mcp-mongo-server",
        "mongodb://localhost:27017/mydb"
      ]
    }
  ]
}

Continue utilise un tableau d'objets serveur plutôt qu'une map.

~/.config/zed/settings.json
{
  "context_servers": {
    "mongo-mcp-kiliczsh": {
      "command": {
        "path": "npx",
        "args": [
          "-y",
          "mcp-mongo-server",
          "mongodb://localhost:27017/mydb"
        ]
      }
    }
  }
}

Ajoutez dans context_servers. Zed recharge à chaud à la sauvegarde.

claude mcp add mongo-mcp-kiliczsh -- npx -y mcp-mongo-server mongodb://localhost:27017/mydb

Une seule ligne. Vérifiez avec claude mcp list. Supprimez avec claude mcp remove.

Cas d'usage

Usages concrets : MongoDB MCP Server

Explorer une base MongoDB inconnue sans rien écrire

👤 Devs prenant en main un nouveau service ⏱ ~15 min beginner

Quand l'utiliser : Vous avez hérité d'une instance Mongo dont le schéma n'est pas documenté.

Prérequis
  • Utilisateur Mongo en lecture seuledb.createUser({user:'reader', roles:[{role:'read', db:'mydb'}]})
Déroulement
  1. Connexion en lecture seule
    Utilise le MCP mongo. Liste toutes les collections et infère le schéma des 3 plus grandes.✓ Copié
    → Liste des collections + schéma JSON par collection
  2. Vérification spot
    Montre-moi 5 documents exemples de orders — anonymise les emails.✓ Copié
    → 5 documents, PII masquées
  3. Cartographier les relations
    Quelles collections se référencent mutuellement par ObjectId ? Dessine un diagramme textuel rapide.✓ Copié
    → Diagramme ER en texte brut

Résultat : Modèle mental de la base en 10 minutes, sans DBA.

Pièges
  • L'échantillonnage peut rater les champs à haute cardinalité — Augmentez la taille d'échantillon dans l'appel d'inférence ; échantillonnez par date si les données sont asymétriques dans le temps
Combiner avec : filesystem

Optimiser une agrégation lente avec les conseils d'index de Claude

👤 Développeurs backend ⏱ ~25 min intermediate

Quand l'utiliser : Un pipeline d'agrégation prend 30 secondes et vous ne savez pas quelle étape est coûteuse.

Déroulement
  1. Profiler
    Lance cette agrégation avec explain=true. Montre le plan gagnant.✓ Copié
    → Sortie explain avec le nombre de documents parcourus par étape
  2. Diagnostiquer
    Quelle étape est le goulot d'étranglement ? Quel index aiderait ?✓ Copié
    → Suggestion d'index concrète avec justification
  3. Vérifier
    Ré-expliquer après l'ajout de l'index. Est-ce que totalDocsExamined a diminué ?✓ Copié
    → Oui/non avec chiffres

Résultat : Agrégation 10x plus rapide avec un index ciblé.

Pièges
  • Claude suggère un index qui pénalise les écritures — Demandez : « Quel impact cet index a-t-il sur les écritures ? » avant d'appliquer

Trouver les documents qui violent un schéma implicite

👤 Ingénieurs data ⏱ ~20 min intermediate

Quand l'utiliser : Les bases schemaless accumulent de la dérive ; vous devez trouver les contrevenants.

Déroulement
  1. Échantillonner
    Échantillonne 1000 documents de users. Quels champs sont absents ou ont des types inattendus ?✓ Copié
    → Tableau de nullité / fréquence de type par champ
  2. Trouver
    Trouve tous les utilisateurs où email est null ou pas une chaîne.✓ Copié
    → Comptage + _ids d'exemples

Résultat : Rapport concret sur les données sales transmissible aux scripts de migration.

Pièges
  • Les grandes collections atteignent les timeouts — Utilisez $sample puis affinez les requêtes par plages

Combinaisons

Associez-le à d'autres MCPs pour un effet X10

mongo-mcp-kiliczsh + filesystem

Exporter les résultats d'agrégation en JSON pour des outils aval

Lance l'agrégation et sauvegarde les résultats dans /tmp/orders-by-month.json.✓ Copié
mongo-mcp-kiliczsh + github

Ouvrir une PR avec un script de migration après avoir repéré une dérive

On a trouvé 1200 utilisateurs sans email. Ouvre une PR avec une migration de backfill.✓ Copié

Outils

Ce que ce MCP expose

OutilEntréesQuand appelerCoût
find collection, filter, projection?, limit? Rechercher des documents spécifiques 1 requête
aggregate collection, pipeline[], explain? Grouper/transformer des données 1 requête
list_collections (aucun) Découvrir le contenu de la base gratuit
schema collection, sample_size? Inférer la structure à partir de documents échantillonnés 1 lecture d'échantillon
list_indexes collection Discussions d'optimisation gratuit
insert_one collection, document Uniquement hors mode --read-only 1 écriture

Coût et limites

Coût d'exécution

Quota d'API
Limité par les RU/IOPS de votre cluster Mongo
Tokens par appel
200–5000 selon la taille des résultats
Monétaire
Gratuit (open source)
Astuce
Ne projetez que les champs dont vous avez besoin ; limitez limit tôt

Sécurité

Permissions, secrets, portée

Portées minimales : lecture sur la base cible
Stockage des identifiants : URI passé comme argument CLI — à conserver hors de l'historique du shell
Sortie de données : Uniquement vers votre hôte Mongo
Ne jamais accorder : dbAdmin root

Dépannage

Erreurs courantes et correctifs

MongoServerSelectionError

Vérifiez la connectivité, la liste d'autorisation IP, les paramètres TLS

Vérifier : mongosh avec le même URI
Authentification échouée

Vérifiez authSource dans l'URI (souvent admin) ; confirmez que l'utilisateur existe dans cette base

Outil introuvable en mode lecture seule

Retirez --read-only si vous avez besoin d'écritures ; sinon utilisez un autre MCP pour les écritures

Alternatives

MongoDB MCP Server vs autres

AlternativeQuand l'utiliserCompromis
MongoDB CompassExploration graphique, sans IAPas d'intégration agent ; requêtes manuelles
mongosh dans un MCP shellVous voulez toute la puissance de mongoshPlus dangereux ; ce MCP offre des outils bornés

Plus

Ressources

📖 Lire le README officiel sur GitHub

🐙 Voir les issues ouvertes

🔍 Parcourir les 400+ serveurs MCP et Skills