/ Directorio / Playground / MongoDB
● Oficial mongodb-js 🔑 Requiere tu clave

MongoDB

por mongodb-js · mongodb-js/mongodb-mcp-server

Permite que Claude consulte, agregue y administre MongoDB Atlas o clústeres autohospedados — con valores por defecto de solo lectura que puedes relajar por herramienta.

El MCP oficial de MongoDB cubre tanto el driver (CRUD + agregación en cualquier clúster) como el plano de control de Atlas (listar proyectos, clústeres, usuarios). Por defecto se ejecuta en modo de solo lectura; habilita escrituras explícitamente por familia de comandos cuando las necesites.

Por qué usarlo

Características clave

Demo en vivo

Cómo se ve en la práctica

mongodb.replay ▶ listo
0/0

Instalar

Elige tu cliente

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

Abre Claude Desktop → Settings → Developer → Edit Config. Reinicia después de guardar.

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

Cursor usa el mismo esquema mcpServers que Claude Desktop. La configuración del proyecto prevalece sobre la global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mongodb": {
      "command": "npx",
      "args": [
        "-y",
        "mongodb-mcp-server"
      ]
    }
  }
}

Haz clic en el icono MCP Servers de la barra lateral de Cline y luego en "Edit Configuration".

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

Mismo formato que Claude Desktop. Reinicia Windsurf para aplicar.

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

Continue usa un array de objetos de servidor en lugar de un mapa.

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

Añádelo a context_servers. Zed recarga en caliente al guardar.

claude mcp add mongodb -- npx -y mongodb-mcp-server

Un solo comando. Verifica con claude mcp list. Quita con claude mcp remove.

Casos de uso

Usos del mundo real: MongoDB

Responde preguntas empresariales con pipelines de agregación de Mongo

👤 PMs y analistas en un producto respaldado por Mongo ⏱ ~15 min beginner

Cuándo usarlo: Necesitas recuentos, embudos o listas top-N y no quieres aprender la sintaxis $group/$lookup.

Requisitos previos
  • Cadena de conexión de solo lectura — Atlas: crea un usuario de BD con readAnyDatabase. Autohospedado: usuario con rol read en las BDs relevantes.
Flujo
  1. Descubre colecciones
    Lista bases de datos, luego para app_prod lista todas las colecciones y sus recuentos aproximados de documentos.✓ Copiado
    → Catálogo de colecciones
  2. Muestrea e infiere el esquema
    Muestrea 20 documentos de users y orders. Describe los campos y tipos que ves.✓ Copiado
    → Descripción de esquema por colección
  3. Ejecuta la agregación real
    ¿Cuántos pedidos se realizaron por país en los últimos 30 días? Ordena desc y limita a 20.✓ Copiado
    → Tabla de resultados con el pipeline utilizado

Resultado: Respuestas empresariales con el pipeline exacto preservado para re-ejecutar.

Errores comunes
  • Las agregaciones sin índices pueden escanear colecciones enormes — Siempre verifica .explain() primero y asegúrate de que exista un índice de soporte; de lo contrario, agrega $match estrechamente en un campo indexado al inicio del pipeline
Combinar con: notion

Infiere y documenta el esquema real de una colección desordenada

👤 Ingeniero nuevo incorporándose a un Mongo sin documentación ⏱ ~25 min intermediate

Cuándo usarlo: La colección fue 'sin esquema' durante 3 años y nadie sabe qué campos existen realmente.

Flujo
  1. Muestrea ampliamente
    Muestrea 500 documentos de events. Para cada campo de nivel superior, reporta presencia %, tipo(s) y un valor de ejemplo.✓ Copiado
    → Matriz de presencia/tipo por campo
  2. Encuentra desviación de esquema
    ¿Qué campos tienen múltiples tipos entre documentos? Agrupa por (campo, tipo) y cuenta.✓ Copiado
    → Lista de campos polimórficos
  3. Produce un tipo TypeScript o esquema JSON
    Genera una interfaz TypeScript para los campos 'estables' (≥95% presencia, tipo único). Marca el resto como opcional o desconocido.✓ Copiado
    → Definición de tipo utilizable

Resultado: Un esquema documentado con peculiaridades conocidas — la base para migraciones o un validador.

Errores comunes
  • 500 documentos pueden perder variantes raras pero importantes — Muestrea por período de tiempo (uno por mes) para capturar formas heredadas
Combinar con: filesystem

Audita tus proyectos de Atlas por seguridad y costo

👤 Equipos de DevOps/plataforma en Atlas ⏱ ~20 min intermediate

Cuándo usarlo: Trimestralmente: verifica qué clústeres son demasiado grandes, cuáles tienen listas blancas IP amplias, quién tiene acceso.

Requisitos previos
  • Clave pública+privada de API de Atlas — cloud.mongodb.com → Organization Access → API keys; con alcance de proyecto
Flujo
  1. Lista proyectos + clústeres
    Lista cada proyecto y dentro de cada uno, cada clúster con su nivel, región y estado de copia de seguridad.✓ Copiado
    → Inventario completo
  2. Marca acceso riesgoso
    Para cada proyecto, vuelca la lista de acceso IP. Marca cualquier entrada de 0.0.0.0/0 con el nombre del proyecto.✓ Copiado
    → Informe de acceso riesgoso
  3. Sugiere reajuste de tamaño
    ¿Algún clúster en M30+ con menos de 10GB utilizado? Recomienda degradaciones.✓ Copiado
    → Lista de ahorros de costos

Resultado: Una lista corta de remediación para tu gente de seguridad + finanzas.

Errores comunes
  • Alcance de clave API demasiado estrecho para ver cada proyecto — Usa una clave a nivel de organización en modo de solo lectura en lugar de una a nivel de proyecto
Combinar con: notion

Propón y ejecuta una limpieza de datos puntual de manera segura

👤 Ingeniero de backend arreglando un bug de datos ⏱ ~30 min advanced

Cuándo usarlo: Un bug causó escrituras incorrectas; necesitas arreglar ~10k documentos pero no debes eliminar los incorrectos.

Requisitos previos
  • Usuario escribible (limitado solo a la BD de destino) — Atlas: rol con readWrite en esa BD, nada más
  • --read-only OFF explícitamente para esta sesión — Inicia el MCP sin --read-only
Flujo
  1. Define el alcance de la corrección con un recuento
    Cuenta documentos en users donde status='active' AND last_login IS NULL AND created_at < 2024-01-01. No modifiques nada.✓ Copiado
    → Recuento esperado de afectados, p.ej. 9,873
  2. Ejecución en seco de la actualización
    Muestra el pipeline updateMany que ejecutarías (filter + $set), y muestra 5 documentos de ejemplo que serían cambiados. NO ejecutes.✓ Copiado
    → Vista previa de filtro + set
  3. Ejecuta con un límite y verifica
    Ejecuta la actualización. Luego vuelve a ejecutar el recuento original — debería ser 0. Reporta matchedCount y modifiedCount.✓ Copiado
    → Los recuentos coinciden con la expectativa; verifica que la consulta devuelva 0

Resultado: Una corrección limpia y auditable con recuentos antes y después.

Errores comunes
  • updateMany con un filtro incorrecto elimina toda la colección — Siempre ejecuta el filtro como countDocuments primero; si el recuento es sorprendente, detente e investiga
  • Sin copia de seguridad del segmento afectado — Copia los documentos coincidentes a una colección <collection>_backup_<date> antes de actualizar
Combinar con: filesystem

Sugiere índices faltantes basándose en patrones de consultas lentas

👤 Ingenieros de backend buscando problemas de rendimiento ⏱ ~25 min advanced

Cuándo usarlo: Tu app es lenta en consultas de Mongo; quieres un plan de índice dirigido, no a lo loco.

Flujo
  1. Verifica índices existentes
    Para orders y users, lista cada índice con sus claves y tamaño en disco.✓ Copiado
    → Catálogo de índices
  2. Perfila una consulta específica
    Ejecuta .explain('executionStats') en esta consulta [pegar]. Reporta totalDocsExamined vs nReturned y la etapa del plan ganador.✓ Copiado
    → Salida de explain
  3. Propón el índice nuevo más pequeño
    Dado ese plan, propón exactamente un índice que convertiría esto en IXSCAN. Justifica el orden de campos.✓ Copiado
    → Comando createIndex concreto con justificación

Resultado: Una recomendación de índice única y justificable por consulta lenta — no una pared de ellas.

Errores comunes
  • El exceso de indexación mata el rendimiento de escritura e hincha el almacenamiento — Solo agrega un índice que sirva a >1 consulta de alto tráfico; los índices compuestos deben reflejar el orden ESR (Equality, Sort, Range)

Combinaciones

Combínalo con otros MCPs para multiplicar por 10

mongodb + notion

Agrega, luego publica un informe compartible

Calcula MAU por nivel de plan para los últimos 6 meses y crea una página de Notion en 'Growth / Monthly' con los resultados como tabla.✓ Copiado
mongodb + filesystem

Haz copia de seguridad de un segmento de colección como JSONL antes de una limpieza

Encuentra todos los documentos en users que coincidan con <filter>, guarda en /backups/users-cleanup-<date>.jsonl, luego elimínalos.✓ Copiado
mongodb + postgres

Reconciliación entre BD cuando migras desde Mongo

Para cada user_id en Mongo users, verifica si existe una fila correspondiente en Postgres users. Reporta discrepancias.✓ Copiado

Herramientas

Lo que expone este MCP

HerramientaEntradasCuándo llamarCoste
list_databases Inicio de cualquier sesión de exploración free
list_collections database: str Hacer inventario de una base de datos free
find database, collection, filter?, projection?, sort?, limit? Lee documentos — el caballo de batalla principal para lecturas free
aggregate database, collection, pipeline: stage[] Agrupación, unión, analítica free
count database, collection, filter? Siempre antes de escrituras destructivas — confirma el alcance free
insert_one / insert_many database, collection, document(s) Requiere --read-only desactivado writes
update_one / update_many database, collection, filter, update Siempre vista previa del filtro con recuento primero writes
delete_one / delete_many database, collection, filter Peligroso — requiere confirmación explícita del usuario writes
list_indexes database, collection Análisis de rendimiento antes de sugerir nuevos índices free
atlas_list_projects / atlas_list_clusters Auditorías del plano de control de Atlas free

Coste y límites

Lo que cuesta ejecutarlo

Cuota de API
Driver: limitado por límite de conexión del clúster. API de Atlas: 100 req/min por clave.
Tokens por llamada
Find/aggregate: se escala con el tamaño del resultado; usa projections y limits.
Monetario
Gratuito contra tu clúster existente. Atlas tiene un nivel M0 gratuito para pruebas.
Consejo
Siempre proyecta solo los campos que necesitas; los finds sin límites devuelven documentos grandes que consumen contexto y egreso.

Seguridad

Permisos, secretos, alcance

Ámbitos mínimos: readAnyDatabase (solo lectura) o read en BDs específicas
Almacenamiento de credenciales: MDB_MCP_CONNECTION_STRING para driver; MDB_MCP_API_CLIENT_ID + MDB_MCP_API_CLIENT_SECRET para Atlas
Salida de datos: Driver se conecta a tu clúster; API de Atlas solo a cloud.mongodb.com
No conceder nunca: dbAdminAnyDatabase userAdminAnyDatabase root

Resolución de problemas

Errores comunes y soluciones

MongoServerError: Autenticación fallida

Usuario/contraseña de cadena de conexión incorrectos o el usuario carece de BD de autenticación. Agrega ?authSource=admin para Atlas.

Verificar: mongosh '$MDB_MCP_CONNECTION_STRING' --eval 'db.runCommand({ping:1})'
MongoNetworkError: tiempo de espera agotado

IP no está en la lista blanca de Atlas. Agrega tu IP actual en Atlas → Network Access.

Verificar: ejecuta curl ifconfig.me y luego compara
no autorizado en admin para ejecutar el comando listDatabases

Rol demasiado estrecho. Otorga clusterMonitor o limita herramientas a una BD específica mediante listCollections.

Escritura rechazada / ejecutándose en modo de solo lectura

Reinicia el MCP sin --read-only; solo haz esto para la sesión de corrección específica.

Alternativas

MongoDB vs otros

AlternativaCuándo usarlaContrapartida
Postgres MCPEstás en Postgres o considerando migrar desde MongoRelacional — se ha perdido la flexibilidad de estilo de documento
DBHubNecesitas un MCP para Mongo + varias BD SQLCobertura de características de Mongo más superficial que el servidor oficial

Más

Recursos

📖 Lee el README oficial en GitHub

🐙 Ver issues abiertas

🔍 Ver todos los 400+ servidores MCP y Skills