MongoDB Lens
Servidor MCP completo para la base de datos MongoDB.
Documentación
MongoDB Lens
MongoDB Lens es un servidor local de Model Context Protocol (MCP) con acceso completo a bases de datos MongoDB mediante lenguaje natural a través de LLMs para realizar consultas, ejecutar agregaciones, optimizar el rendimiento y más.
Contenido
- Inicio rápido
- Características
- Instalación
- Configuración
- Configuración del Cliente
- Protección de Datos
- Tutorial
- Suite de Pruebas
- Aviso Legal
- Soporte
Inicio rápido
- Instalar MongoDB Lens
- Configurar MongoDB Lens
- Configurar su Cliente MCP (por ejemplo, Claude Desktop, Cursor, etc.)
- Explore sus bases de datos MongoDB con consultas en lenguaje natural
Características
Herramientas
add-connection-alias: Agregar un nuevo alias de conexión a MongoDBaggregate-data: Ejecutar pipelines de agregaciónanalyze-query-patterns: Analizar consultas en vivo y sugerir optimizacionesanalyze-schema: Inferir automáticamente esquemas de coleccionesbulk-operations: Realizar múltiples operaciones de manera eficiente (requiere confirmación para operaciones destructivas)clear-cache: Limpiar cachés de memoria para asegurar datos frescoscollation-query: Encontrar documentos con reglas de intercalación específicas del idiomacompare-schemas: Comparar esquemas entre dos coleccionesconnect-mongodb: Conectar a una URI de MongoDB diferenteconnect-original: Volver a conectar a la URI original de MongoDB utilizada al iniciocount-documents: Contar documentos que coinciden con criterios específicoscreate-collection: Crear nuevas colecciones con opciones personalizadascreate-database: Crear una nueva base de datos con opción de cambiar a ellacreate-index: Crear nuevos índices para optimización de rendimientocreate-timeseries: Crear colecciones de series temporales para datos temporalescreate-user: Crear nuevos usuarios de base de datos con roles específicoscurrent-database: Mostrar el contexto de la base de datos actualdelete-document: Eliminar documentos que coinciden con criterios específicos (requiere confirmación)distinct-values: Extraer valores únicos para cualquier campodrop-collection: Eliminar colecciones de la base de datos (requiere confirmación)drop-database: Eliminar una base de datos (requiere confirmación)drop-index: Eliminar índices de colecciones (requiere confirmación)drop-user: Eliminar usuarios de base de datos (requiere confirmación)explain-query: Analizar planes de ejecución de consultasexport-data: Exportar resultados de consultas en formato JSON o CSVfind-documents: Ejecutar consultas con filtros, proyecciones y ordenamientogenerate-schema-validator: Generar validadores de esquema JSONgeo-query: Realizar consultas geoespaciales con varios operadoresget-stats: Obtener estadísticas de bases de datos o coleccionesgridfs-operation: Gestionar archivos grandes con buckets de GridFSinsert-document: Insertar uno o más documentos en coleccioneslist-collections: Explorar colecciones en la base de datos actuallist-connections: Ver todos los alias de conexión a MongoDB disponibleslist-databases: Ver todas las bases de datos accesiblesrename-collection: Renombrar colecciones existentes (requiere confirmación al eliminar destinos)shard-status: Ver la configuración de sharding para bases de datos y coleccionestext-search: Realizar búsqueda de texto completo en campos indexados por textotransaction: Ejecutar múltiples operaciones en una sola transacción ACIDupdate-document: Actualizar documentos que coinciden con criterios específicosuse-database: Cambiar a un contexto de base de datos específicovalidate-collection: Verificar inconsistencias de datoswatch-changes: Monitorear cambios en tiempo real en colecciones
Recursos
collection-indexes: Información de índices para una coleccióncollection-schema: Información de esquema para una coleccióncollection-stats: Estadísticas de rendimiento para una coleccióncollection-validation: Reglas de validación para una coleccióncollections: Lista de colecciones en la base de datos actualdatabase-triggers: Configuración de flujos de cambio y disparadores de eventos de la base de datosdatabase-users: Usuarios y roles de la base de datos actualdatabases: Lista de todas las bases de datos accesiblesperformance-metrics: Métricas de rendimiento en tiempo real y datos de perfiladoreplica-status: Estado y configuración del conjunto de réplicasserver-status: Información del estado del servidorstored-functions: Funciones JavaScript almacenadas en la base de datos actual
Indicaciones
aggregation-builder: Creación paso a paso de pipelines de agregaciónbackup-strategy: Recomendaciones personalizadas de respaldo y recuperacióndata-modeling: Asesoramiento experto sobre diseño de esquemas MongoDB para casos de uso específicosdatabase-health-check: Evaluación integral de salud de la base de datos y recomendacionesindex-recommendation: Obtenga sugerencias personalizadas de índices basadas en patrones de consultamigration-guide: Planes de migración de versiones de MongoDB paso a pasomongo-shell: Generar comandos de shell de MongoDB con explicacionesmulti-tenant-design: Diseñar arquitectura de base de datos multi-tenant en MongoDBquery-builder: Guía interactiva para construir consultas MongoDBquery-optimizer: Recomendaciones de optimización para consultas lentasschema-analysis: Análisis detallado de esquema de colección con recomendacionesschema-versioning: Gestionar la evolución de esquemas en aplicaciones MongoDBsecurity-audit: Análisis de seguridad de la base de datos y recomendaciones de mejorasql-to-mongodb: Convertir consultas SQL a pipelines de agregación MongoDB
Otras Características
Otras Características: Resumen
MongoDB Lens incluye numerosas otras características:
- Archivo de Configuración: Configuración personalizada mediante
~/.mongodb-lens.[jsonc|json] - Anulaciones de Variables de Entorno: Anular ajustes de configuración mediante
process.env.CONFIG_* - Sistema de Confirmación: Verificación en dos pasos para operaciones destructivas
- Múltiples Conexiones: Definir y cambiar entre alias de URI nombrados
- Desactivación de Componentes: Desactivar selectivamente herramientas, indicaciones o recursos
- Resiliencia de Conexión: Reconexión automática con retroceso exponencial
- Salvaguardas de Consulta: Límites configurables y protecciones de rendimiento
- Manejo de Errores: Códigos y mensajes de error JSONRPC completos
- Inferencia de Esquema: Análisis de esquema eficiente con muestreo inteligente
- Protección de Credenciales: Ofuscación de contraseñas en cadenas de conexión en registros
- Gestión de Memoria: Monitoreo y limpieza automáticos para operaciones grandes
- Caché Inteligente: Caché optimizada para esquemas, índices, campos y colecciones
- Compatibilidad Retroactiva: Soporte para versiones modernas y antiguas de MongoDB
Otras Características: Metadatos de Nueva Base de Datos
MongoDB Lens inserta una colección metadata en cada base de datos que crea.
Esta colección metadata almacena un único documento que contiene información contextual que sirve como registro permanente del origen de la base de datos, asegurando al mismo tiempo que la base de datos nueva y por lo demás vacía persista en el sistema de almacenamiento de MongoDB.
Documento de metadatos de ejemplo
{
"_id" : ObjectId("67d5284463788ec38aecee14"),
"created" : {
"timestamp" : ISODate("2025-03-15T07:12:04.705Z"),
"tool" : "MongoDB Lens v5.0.7",
"user" : "anonymous"
},
"mongodb" : {
"version" : "3.6.23",
"connectionInfo" : {
"host" : "unknown",
"readPreference" : "primary"
}
},
"database" : {
"name" : "example_database",
"description" : "Created via MongoDB Lens"
},
"system" : {
"hostname" : "unknown",
"platform" : "darwin",
"nodeVersion" : "v22.14.0"
},
"lens" : {
"version" : "5.0.7",
"startTimestamp" : ISODate("2025-03-15T07:10:06.084Z")
}
}
Una vez que haya agregado sus propias colecciones a su nueva base de datos, puede eliminar de manera segura la colección metadata mediante la herramienta drop-collection:
- "Eliminar la colección de metadatos de la nueva base de datos"
➥ Usa la herramientadrop-collection(con confirmación)
Instalación
MongoDB Lens se puede instalar y ejecutar de varias maneras:
- NPX (Más fácil)
- Docker Hub
- Node.js desde el Código Fuente
- Docker desde el Código Fuente
- Verificación de la Instalación
- Versiones Antiguas de MongoDB
Instalación: NPX
[!NOTE]
NPX requiere Node.js instalado y ejecutándose en su sistema (sugerencia: use Volta).
La forma más fácil de ejecutar MongoDB Lens es usando NPX.
Primero, asegúrese de que Node.js esté instalado:
node --version # Ideally >= v22.x but MongoDB Lens is >= v18.x compatible
Luego, ejecute MongoDB Lens mediante NPX:
# Using default connection string mongodb://localhost:27017
npx -y mongodb-lens
# Using custom connection string
npx -y mongodb-lens mongodb://your-connection-string
# Using "@latest" to keep the package up-to-date
npx -y mongodb-lens@latest
[!TIP]
Si encuentra errores de permisos connpx, intente ejecutarnpx clear-npx-cacheantes de ejecutarnpx -y mongodb-lens(esto limpia la caché y vuelve a descargar el paquete).
Instalación: Docker Hub
[!NOTE]
Docker Hub requiere Docker instalado y ejecutándose en su sistema.
Primero, asegúrese de que Docker esté instalado:
docker --version # Ideally >= v27.x
Luego, ejecute MongoDB Lens mediante Docker Hub:
# Using default connection string mongodb://localhost:27017
docker run --rm -i --network=host furey/mongodb-lens
# Using custom connection string
docker run --rm -i --network=host furey/mongodb-lens mongodb://your-connection-string
# Using "--pull" to keep the Docker image up-to-date
docker run --rm -i --network=host --pull=always furey/mongodb-lens
Instalación: Node.js desde el Código Fuente
[!NOTE]
Node.js desde el código fuente requiere Node.js instalado y ejecutándose en su sistema (sugerencia: use Volta).
- Clone el repositorio de MongoDB Lens:
git clone https://github.com/furey/mongodb-lens.git - Navegue al directorio del repositorio clonado:
cd /path/to/mongodb-lens - Asegúrese de que Node.js esté instalado:
node --version # Ideally >= v22.x but MongoDB Lens is >= v18.x compatible - Instale las dependencias de Node.js:
npm ci - Inicie el servidor:
# Using default connection string mongodb://localhost:27017 node mongodb-lens.js # Using custom connection string node mongodb-lens.js mongodb://your-connection-string
Instalación: Docker desde el Código Fuente
[!NOTE]
Docker desde el código fuente requiere Docker instalado y ejecutándose en su sistema.
- Clone el repositorio de MongoDB Lens:
git clone https://github.com/furey/mongodb-lens.git - Navegue al directorio del repositorio clonado:
cd /path/to/mongodb-lens - Asegúrese de que Docker esté instalado:
docker --version # Ideally >= v27.x - Construya la imagen de Docker:
docker build -t mongodb-lens . - Ejecute el contenedor:
# Using default connection string mongodb://localhost:27017 docker run --rm -i --network=host mongodb-lens # Using custom connection string docker run --rm -i --network=host mongodb-lens mongodb://your-connection-string
Verificación de la Instalación
Para verificar la instalación, pegue y ejecute el siguiente mensaje JSONRPC en el stdio del servidor:
{"method":"resources/read","params":{"uri":"mongodb://databases"},"jsonrpc":"2.0","id":1}
El servidor debería responder con una lista de bases de datos en su instancia de MongoDB, por ejemplo:
{"result":{"contents":[{"uri":"mongodb://databases","text":"Databases (12):\n- admin (180.00 KB)\n- config (108.00 KB)\n- local (40.00 KB)\n- sample_airbnb (51.88 MB)\n- sample_analytics (9.46 MB)\n- sample_geospatial (980.00 KB)\n- sample_guides (40.00 KB)\n- sample_mflix (108.90 MB)\n- sample_restaurants (7.73 MB)\n- sample_supplies (968.00 KB)\n- sample_training (40.85 MB)\n- sample_weatherdata (2.69 MB)"}]},"jsonrpc":"2.0","id":1}
MongoDB Lens ahora está instalado y listo para aceptar solicitudes MCP.
Instalación: Versiones Antiguas de MongoDB
Si se conecta a una instancia de MongoDB con una versión < 4.0, el controlador Node.js de MongoDB utilizado por la última versión de MongoDB Lens no será compatible. Específicamente, las versiones 4.0.0 y superiores del controlador Node.js de MongoDB requieren MongoDB versión 4.0 o superior.
Para usar MongoDB Lens con instancias de MongoDB más antiguas, debe usar una versión del controlador Node.js de MongoDB de la serie 3.x (por ejemplo, 3.7.4, que es compatible con MongoDB 3.6).
Versiones Antiguas de MongoDB: Ejecución desde el Código Fuente
- Clone el repositorio de MongoDB Lens:
git clone https://github.com/furey/mongodb-lens.git - Navegue al directorio del repositorio clonado:
cd /path/to/mongodb-lens - Modifique
package.json:
"dependencies": { ... - "mongodb": "^6.15.0", // Or whatever newer version is listed + "mongodb": "^3.7.4", // Or whatever 3.x version is compatible with your older MongoDB instance ... } - Instale las dependencias de Node.js:
npm install - Inicie MongoDB Lens:
node mongodb-lens.js mongodb://older-mongodb-instance
Esto utilizará la versión anterior del controlador compatible con su instancia de MongoDB.
[!NOTE]
También es posible que deba revertir este commit para volver a agregar las opciones de configuración de MongoDBuseNewUrlParseryuseUnifiedTopology.
Versiones Antiguas de MongoDB: Uso de NPX o Docker
Si prefiere usar NPX o Docker, deberá usar una versión anterior de MongoDB Lens que se haya publicado con un controlador compatible.
Por ejemplo, MongoDB Lens 8.3.0 usa el controlador Node.js de MongoDB 3.7.4 (consulte: package-lock.json).
Para ejecutar una versión anterior de MongoDB Lens usando NPX, especifique la etiqueta de versión:
npx -y mongodb-lens@8.3.0
De manera similar para Docker:
docker run --rm -i --network=host furey/mongodb-lens:8.3.0
Configuración
- Cadena de conexión de MongoDB
- Archivo de configuración
- Generación del archivo de configuración
- Múltiples conexiones de MongoDB
- Anulaciones de variables de entorno
- Variables de entorno multiplataforma
Configuración: Cadena de conexión de MongoDB
El servidor acepta una cadena de conexión de MongoDB como su único argumento.
Ejemplo de uso con NPX:
npx -y mongodb-lens@latest mongodb://your-connection-string
Las cadenas de conexión de MongoDB tienen el siguiente formato:
mongodb://[username:password@]host[:port][/database][?options]
Ejemplos de cadenas de conexión:
- Conexión local:
mongodb://localhost:27017 - Conexión a
mydatabasecon credenciales de la base de datosadmin:
mongodb://username:password@hostname:27017/mydatabase?authSource=admin - Conexión a
mydatabasecon varias otras opciones:
mongodb://hostname:27017/mydatabase?retryWrites=true&w=majority
Si no se proporciona una cadena de conexión, el servidor intentará conectarse mediante una conexión local.
Configuración: Archivo de configuración
MongoDB Lens admite una amplia personalización mediante un archivo de configuración JSON.
[!NOTE]
El archivo de configuración es opcional. MongoDB Lens se ejecutará con la configuración predeterminada si no se proporciona ningún archivo de configuración.
[!TIP]
Solo necesita incluir en el archivo de configuración los ajustes que desea personalizar. MongoDB Lens usará la configuración predeterminada para cualquier valor omitido.
[!TIP]
MongoDB Lens admite formatos de archivo de configuración.jsony.jsonc(JSON con comentarios).
Ejemplo de archivo de configuración
{
"mongoUri": "mongodb://localhost:27017", // Default MongoDB connection string or object of alias-URI pairs
"connectionOptions": {
"maxPoolSize": 20, // Maximum number of connections in the pool
"retryWrites": false, // Whether to retry write operations
"connectTimeoutMS": 30000, // Connection timeout in milliseconds
"socketTimeoutMS": 360000, // Socket timeout in milliseconds
"heartbeatFrequencyMS": 10000, // How often to ping servers for status
"serverSelectionTimeoutMS": 30000 // Timeout for server selection
},
"defaultDbName": "admin", // Default database if not specified in URI
"connection": {
"maxRetries": 5, // Maximum number of initial connection attempts
"maxRetryDelayMs": 30000, // Maximum delay between retries
"reconnectionRetries": 10, // Maximum reconnection attempts if connection lost
"initialRetryDelayMs": 1000 // Initial delay between retries
},
"disabled": {
"tools": [], // Array of tools to disable or true to disable all
"prompts": [], // Array of prompts to disable or true to disable all
"resources": [] // Array of resources to disable or true to disable all
},
"enabled": {
"tools": true, // Array of tools to enable or true to enable all
"prompts": true, // Array of prompts to enable or true to enable all
"resources": true // Array of resources to enable or true to enable all
},
"cacheTTL": {
"stats": 15000, // Stats cache lifetime in milliseconds
"fields": 30000, // Fields cache lifetime in milliseconds
"schemas": 60000, // Schema cache lifetime in milliseconds
"indexes": 120000, // Index cache lifetime in milliseconds
"collections": 30000, // Collections list cache lifetime in milliseconds
"serverStatus": 20000 // Server status cache lifetime in milliseconds
},
"enabledCaches": [ // List of caches to enable
"stats", // Statistics cache
"fields", // Collection fields cache
"schemas", // Collection schemas cache
"indexes", // Collection indexes cache
"collections", // Database collections cache
"serverStatus" // MongoDB server status cache
],
"memory": {
"enableGC": true, // Whether to enable garbage collection
"warningThresholdMB": 1500, // Memory threshold for warnings
"criticalThresholdMB": 2000 // Memory threshold for cache clearing
},
"logLevel": "info", // Log level (info or verbose)
"disableDestructiveOperationTokens": false, // Whether to skip confirmation for destructive ops
"watchdogIntervalMs": 30000, // Interval for connection monitoring
"defaults": {
"slowMs": 100, // Threshold for slow query detection
"queryLimit": 10, // Default limit for query results
"allowDiskUse": true, // Allow operations to use disk for large datasets
"schemaSampleSize": 100, // Sample size for schema inference
"aggregationBatchSize": 50 // Batch size for aggregation operations
},
"security": {
"tokenLength": 4, // Length of confirmation tokens
"tokenExpirationMinutes": 5, // Expiration time for tokens
"strictDatabaseNameValidation": true // Enforce strict database name validation
},
"tools": {
"transaction": {
"readConcern": "snapshot", // Read concern level for transactions
"writeConcern": {
"w": "majority" // Write concern for transactions
}
},
"bulkOperations": {
"ordered": true // Whether bulk operations execute in order
},
"export": {
"defaultLimit": -1, // Default limit for exports (-1 = no limit)
"defaultFormat": "json" // Default export format (json or csv)
},
"watchChanges": {
"maxDurationSeconds": 60, // Maximum duration for change streams
"defaultDurationSeconds": 10 // Default duration for change streams
},
"queryAnalysis": {
"defaultDurationSeconds": 10 // Default duration for query analysis
}
}
}
De forma predeterminada, MongoDB Lens busca el archivo de configuración en:
~/.mongodb-lens.jsoncprimero, y luego recurre a~/.mongodb-lens.jsonsi el primero no existe
Para personalizar la ruta del archivo de configuración, establezca la variable de entorno CONFIG_PATH en la ruta de archivo deseada.
Ejemplo de uso con NPX:
CONFIG_PATH='/path/to/config.json' npx -y mongodb-lens@latest
Ejemplo de uso con Docker Hub:
docker run --rm -i --network=host --pull=always -v /path/to/config.json:/root/.mongodb-lens.json furey/mongodb-lens
Configuración: Generación del archivo de configuración
Puede generar un archivo de configuración automáticamente usando el script config:create:
# NPX Usage (recommended)
npx -y mongodb-lens@latest config:create
# Node.js Usage
npm run config:create
# Force overwrite existing files
npx -y mongodb-lens@latest config:create -- --force
npm run config:create -- --force
Este script extrae el archivo de configuración de ejemplo anterior y lo guarda en: ~/.mongodb-lens.jsonc
Generación del archivo de configuración: Ruta personalizada
Puede especificar una ubicación de salida personalizada usando la variable de entorno CONFIG_PATH.
- Si
CONFIG_PATHno tiene extensión de archivo, se trata como un directorio y se agrega.mongodb-lens.jsonc - Si
CONFIG_PATHtermina con.json(no.jsonc), se eliminan los comentarios del archivo generado
Ejemplo de uso con NPX:
# With custom path
CONFIG_PATH=/path/to/config.jsonc npx -y mongodb-lens@latest config:create
# Save to directory (will append .mongodb-lens.jsonc to the path)
CONFIG_PATH=/path/to/directory npx -y mongodb-lens@latest config:create
# Save as JSON instead of JSONC
CONFIG_PATH=/path/to/config.json npx -y mongodb-lens@latest config:create
Ejemplo de uso con Node.js:
# With custom path
CONFIG_PATH=/path/to/config.jsonc node mongodb-lens.js config:create
# Save to directory (will append .mongodb-lens.jsonc to the path)
CONFIG_PATH=/path/to/directory node mongodb-lens.js config:create
# Save as JSON instead of JSONC
CONFIG_PATH=/path/to/config.json node mongodb-lens.js config:create
Configuración: Múltiples conexiones de MongoDB
MongoDB Lens admite múltiples URI de MongoDB con alias en su archivo de configuración, lo que le permite cambiar fácilmente entre diferentes instancias de MongoDB usando nombres simples.
Para configurar múltiples conexiones, establezca el ajuste de configuración mongoUri en un objeto con pares alias-URI:
{
"mongoUri": {
"main": "mongodb://localhost:27017",
"backup": "mongodb://localhost:27018",
"atlas": "mongodb+srv://username:password@cluster.mongodb.net/mydb"
}
}
Con esta configuración:
- La primera URI de la lista (por ejemplo,
main) se convierte en la conexión predeterminada al inicio - Puede cambiar de conexión usando lenguaje natural:
"Connect to backup"o"Connect to atlas" - La sintaxis original sigue funcionando:
"Connect to mongodb://localhost:27018" - La herramienta
list-connectionsmuestra todos los alias de conexión disponibles
[!NOTE]
Al usar el argumento de línea de comandos para especificar una conexión, puede usar una URI completa de MongoDB o un alias definido en su archivo de configuración.
[!TIP]
Para agregar alias de conexión en tiempo de ejecución, use la herramientaadd-connection-alias.
Configuración: Anulaciones de variables de entorno
MongoDB Lens admite anulaciones de variables de entorno para los ajustes de configuración.
Las variables de entorno tienen prioridad sobre los ajustes del archivo de configuración.
Las variables de entorno de configuración siguen el patrón de nomenclatura:
CONFIG_[SETTING PATH, SNAKE CASED, UPPERCASED]
Ejemplos de anulaciones:
| Ajuste de configuración | Anulación de variable de entorno |
|---|---|
mongoUri | CONFIG_MONGO_URI |
logLevel | CONFIG_LOG_LEVEL |
defaultDbName | CONFIG_DEFAULT_DB_NAME |
defaults.queryLimit | CONFIG_DEFAULTS_QUERY_LIMIT |
tools.export.defaultFormat | CONFIG_TOOLS_EXPORT_DEFAULT_FORMAT |
connectionOptions.maxPoolSize | CONFIG_CONNECTION_OPTIONS_MAX_POOL_SIZE |
connection.reconnectionRetries | CONFIG_CONNECTION_RECONNECTION_RETRIES |
Para los valores de las variables de entorno:
- Para ajustes booleanos, use los valores de cadena
'true'o'false'. - Para ajustes numéricos, use representaciones de cadena.
- Para objetos anidados o matrices, use cadenas JSON.
Ejemplo de uso con NPX:
CONFIG_DEFAULTS_QUERY_LIMIT='25' npx -y mongodb-lens@latest
Ejemplo de uso con Docker Hub:
docker run --rm -i --network=host --pull=always -e CONFIG_DEFAULTS_QUERY_LIMIT='25' furey/mongodb-lens
Configuración: Variables de entorno multiplataforma
Para un uso consistente de variables de entorno en Windows, macOS y Linux, considere usar cross-env:
- Instale cross-env globalmente:
# Using NPM npm install -g cross-env # Using Volta (see: https://volta.sh) volta install cross-env - Anteponga cualquier variable de entorno NPX o Node.js en los ejemplos de este documento:
# Example NPX usage with cross-env cross-env CONFIG_DEFAULTS_QUERY_LIMIT='25' npx -y mongodb-lens@latest # Example Node.js usage with cross-env cross-env CONFIG_DEFAULTS_QUERY_LIMIT='25' node mongodb-lens.js
Configuración del cliente
Configuración del cliente: Claude Desktop
Para usar MongoDB Lens con Claude Desktop:
- Instale Claude Desktop
- Abra
claude_desktop_config.json(créelo si no existe):- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Agregue la configuración del servidor MongoDB Lens según las opciones de configuración
- Reinicie Claude Desktop
- Inicie una conversación con Claude sobre sus datos de MongoDB
Opciones de configuración de Claude Desktop
- Opción 1: NPX (Recomendado)
- Opción 2: Imagen de Docker Hub
- Opción 3: Instalación local de Node.js
- Opción 4: Imagen local de Docker
Para cada opción:
- Reemplace
mongodb://your-connection-stringcon su cadena de conexión de MongoDB u omítala para usar el valor predeterminadomongodb://localhost:27017. - Para usar un archivo de configuración personalizado, establezca la variable de entorno
CONFIG_PATH. - Para incluir variables de entorno:
- Para NPX o Node.js, agregue
"env": {}con pares clave-valor, por ejemplo:
"command": "/path/to/npx", "args": [ "-y", "mongodb-lens@latest", "mongodb://your-connection-string" ], "env": { "CONFIG_LOG_LEVEL": "verbose" } - Para Docker, agregue banderas
-e, por ejemplo:
"command": "docker", "args": [ "run", "--rm", "-i", "--network=host", "--pull=always", "-e", "CONFIG_LOG_LEVEL=verbose", "furey/mongodb-lens", "mongodb://your-connection-string" ]
- Para NPX o Node.js, agregue
Opción 1: NPX (Recomendado)
{
"mcpServers": {
"mongodb-lens": {
"command": "/path/to/npx",
"args": [
"-y",
"mongodb-lens@latest",
"mongodb://your-connection-string"
]
}
}
}
Opción 2: Imagen de Docker Hub
{
"mcpServers": {
"mongodb-lens": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"--network=host",
"--pull=always",
"furey/mongodb-lens",
"mongodb://your-connection-string"
]
}
}
}
Opción 3: Instalación local de Node.js
{
"mcpServers": {
"mongodb-lens": {
"command": "/path/to/node",
"args": [
"/path/to/mongodb-lens.js",
"mongodb://your-connection-string"
]
}
}
}
Opción 4: Imagen local de Docker
{
"mcpServers": {
"mongodb-lens": {
"command": "docker",
"args": [
"run", "--rm", "-i",
"--network=host",
"mongodb-lens",
"mongodb://your-connection-string"
]
}
}
}
Configuración del cliente: MCP Inspector
MCP Inspector es una herramienta diseñada para probar y depurar servidores MCP.
[!NOTE]
MCP Inspector inicia un servidor proxy en el puerto 3000 y un cliente web en el puerto 5173.
Ejemplo de uso con NPX:
- Ejecute MCP Inspector:
# Using default connection string mongodb://localhost:27017 npx -y @modelcontextprotocol/inspector npx -y mongodb-lens@latest # Using custom connection string npx -y @modelcontextprotocol/inspector npx -y mongodb-lens@latest mongodb://your-connection-string # Using custom ports SERVER_PORT=1234 CLIENT_PORT=5678 npx -y @modelcontextprotocol/inspector npx -y mongodb-lens@latest - Abra MCP Inspector: http://localhost:5173
MCP Inspector debería admitir toda la gama de capacidades de MongoDB Lens, incluido el autocompletado de nombres de colecciones y campos de consulta.
Para más información, consulte: MCP Inspector
Configuración del cliente: Otros clientes MCP
MongoDB Lens debería ser utilizable con cualquier cliente compatible con MCP.
Para más información, consulte: Documentación de MCP: Ejemplos de clientes
Protección de datos
Para proteger sus datos mientras usa MongoDB Lens, considere lo siguiente:
- Cuentas de usuario de solo lectura
- Trabajo con copias de seguridad de bases de datos
- Consideraciones sobre el flujo de datos
- Confirmación para operaciones destructivas
- Deshabilitación de operaciones destructivas
Protección de datos: Cuentas de usuario de solo lectura
Al conectar MongoDB Lens a su base de datos, los permisos otorgados al usuario en la cadena de conexión de MongoDB determinan qué acciones se pueden realizar. Cuando el caso de uso lo permita, un usuario de solo lectura puede evitar escrituras o eliminaciones no intencionadas, asegurando que MongoDB Lens pueda consultar datos pero no modificarlos.
Para configurar esto, cree un usuario con el rol read limitado a la(s) base(s) de datos que está utilizando. En el shell de MongoDB, ejecutaría algo como:
use admin
db.createUser({
user: 'readonly',
pwd: 'eXaMpLePaSsWoRd',
roles: [{ role: 'read', db: 'mydatabase' }]
})
Luego, aplique esas credenciales a su cadena de conexión de MongoDB:
mongodb://readonly:eXaMpLePaSsWoRd@localhost:27017/mydatabase
Usar credenciales de solo lectura es una forma simple pero efectiva de hacer cumplir los límites de seguridad, especialmente cuando está explorando esquemas o ejecutando consultas ad hoc.
Protección de datos: Trabajo con copias de seguridad de bases de datos
Al trabajar con MongoDB Lens, considere conectarse a una copia de seguridad de sus datos alojada en una instancia de MongoDB separada.
Comience generando la copia de seguridad con mongodump. A continuación, inicie una nueva instancia de MongoDB (por ejemplo, en un puerto diferente como 27018) y restaure la copia de seguridad allí usando mongorestore. Una vez que esté en ejecución, apunte MongoDB Lens a la cadena de conexión de la instancia de copia de seguridad (por ejemplo, mongodb://localhost:27018/mydatabase).
Este enfoque le brinda un entorno de pruebas para probar operaciones complejas o destructivas sin arriesgar la corrupción accidental de sus datos en vivo.
Protección de datos: Consideraciones sobre el flujo de datos
- Cómo fluyen sus datos a través del sistema
- Protección de datos sensibles con proyección
- Alias de conexión y contraseñas
- Configuración local para máxima seguridad
Consideraciones sobre el flujo de datos: Cómo fluyen sus datos a través del sistema
Al usar un servidor MCP con un proveedor de LLM remoto (como Anthropic a través de Claude Desktop), comprender cómo fluyen sus datos a través del sistema es clave para proteger la información sensible de una exposición no intencionada.
Cuando envía una consulta relacionada con MongoDB a través de su cliente MCP, esto es lo que sucede:
[!NOTE]
Si bien este ejemplo usa una instancia local de MongoDB, los mismos principios se aplican a instancias remotas de MongoDB.
sequenceDiagram
actor User
box Local Machine #d4f1f9
participant Client as MCP Client
participant Lens as MongoDB Lens
participant MongoDB as MongoDB Instance
end
box Remote Server #ffe6cc
participant LLM as Remote LLM Provider
end
User->>Client: 1. Submit request<br>"Show me all users older than 30"
Client->>LLM: 2. User request + available tools
Note over LLM: Interprets request<br>Chooses appropriate tool
LLM->>Client: 3. Tool selection (find-documents)
Client->>Lens: 4. Tool run with parameters
Lens->>MongoDB: 5. Database query
MongoDB-->>Lens: 6. Database results
Lens-->>Client: 7. Tool results (formatted data)
Client->>LLM: 8. Tool results
Note over LLM: Processes results<br>Formats response
LLM-->>Client: 9. Processed response
Client-->>User: 10. Final answer
- Envías una solicitud
➥ p. ej., "Muéstrame todos los usuarios mayores de 30" - Tu cliente envía la solicitud al LLM remoto
➥ El proveedor de LLM recibe tus palabras exactas junto con una lista de herramientas MCP disponibles y sus parámetros. - El LLM remoto interpreta tu solicitud
➥ Determina tu intención e indica al cliente que use una herramienta MCP específica con los parámetros adecuados. - El cliente le pide a MongoDB Lens que ejecute la herramienta
➥ Esto ocurre localmente en tu máquina mediante stdio. - MongoDB Lens consulta tu base de datos MongoDB
- MongoDB Lens recupera los resultados de tu consulta MongoDB
- MongoDB Lens envía los datos de vuelta al cliente
➥ El cliente recibe los resultados formateados por MongoDB Lens. - El cliente reenvía los datos al LLM remoto
➥ El proveedor de LLM ve los datos exactos devueltos por MongoDB Lens. - El LLM remoto procesa los datos
➥ Puede resumir o formatear aún más los resultados. - El LLM remoto envía la respuesta final al cliente
➥ El cliente te muestra la respuesta.
El proveedor de LLM remoto ve tanto tu solicitud original como la respuesta completa de MongoDB Lens. Si tu base de datos incluye campos sensibles (p. ej., contraseñas, datos personales, etc.), estos datos podrían transmitirse involuntariamente al proveedor remoto a menos que tomes precauciones.
Consideraciones sobre el flujo de datos: Protección de datos sensibles con proyección
Para evitar que los datos sensibles se envíen al proveedor de LLM remoto, usa el concepto de proyección al utilizar herramientas como find-documents, aggregate-data o export-data. La proyección te permite especificar qué campos incluir o excluir en los resultados de la consulta, garantizando que la información sensible permanezca local.
Ejemplo de uso de proyección:
- "Muéstrame todos los usuarios mayores de 30, pero usa proyección para ocultar sus contraseñas."
➥ Usa la herramientafind-documentscon proyección
Consideraciones sobre el flujo de datos: Alias de conexión y contraseñas
Al agregar nuevos alias de conexión con la herramienta add-connection-alias, evita agregar alias a URI que contengan contraseñas si usas un proveedor de LLM remoto. Dado que tu solicitud se envía al LLM, cualquier contraseña en la URI podría quedar expuesta. En su lugar, define alias con contraseñas en el archivo de configuración de MongoDB Lens, donde permanecen locales y no se transmiten al LLM.
Consideraciones sobre el flujo de datos: Configuración local para máxima seguridad
Aunque está fuera del alcance de este documento, para el mayor nivel de privacidad de datos, considera usar un cliente MCP local junto con un modelo de LLM alojado localmente. Este enfoque mantiene todas las solicitudes y datos dentro de tu entorno local, eliminando el riesgo de que información sensible se envíe a un proveedor remoto.
Protección de datos: Confirmación para operaciones destructivas
MongoDB Lens implementa un sistema de confirmación basado en tokens para operaciones potencialmente destructivas, que requiere un proceso de dos pasos para ejecutar herramientas que de otro modo podrían resultar en pérdida de datos no controlada:
- Primera invocación de la herramienta: Devuelve un token de confirmación de 4 dígitos que caduca después de 5 minutos
- Segunda invocación de la herramienta: Ejecuta la operación si se le proporciona el token válido
Para ver un ejemplo del proceso de confirmación, consulta: Trabajar con protección de confirmación
Las herramientas que requieren confirmación incluyen:
drop-user: Eliminar un usuario de la base de datosdrop-index: Eliminar un índice (posible impacto en el rendimiento)drop-database: Eliminar permanentemente una base de datosdrop-collection: Eliminar una colección y todos sus documentosdelete-document: Eliminar uno o varios documentosbulk-operations: Al incluir operaciones de eliminaciónrename-collection: Cuando la colección de destino existe y se eliminará
Este mecanismo de protección tiene como objetivo prevenir la pérdida accidental de datos por errores tipográficos y comandos no intencionados. Es una red de seguridad que garantiza que seas consciente de las consecuencias antes de continuar con acciones potencialmente dañinas.
[!NOTE]
Si trabajas en un entorno controlado donde la pérdida de datos es aceptable, puedes configurar MongoDB Lens para omitir la confirmación y realizar operaciones destructivas de inmediato.
Omitir la confirmación para operaciones destructivas
Es posible que desees omitir el sistema de confirmación por token.
Establece la variable de entorno CONFIG_DISABLE_DESTRUCTIVE_OPERATION_TOKENS en true para ejecutar operaciones destructivas de inmediato sin confirmación:
# Using NPX
CONFIG_DISABLE_DESTRUCTIVE_OPERATION_TOKENS=true npx -y mongodb-lens@latest
# Using Docker
docker run --rm -i --network=host --pull=always -e CONFIG_DISABLE_DESTRUCTIVE_OPERATION_TOKENS='true' furey/mongodb-lens
[!WARNING]
Deshabilitar los tokens de confirmación elimina un mecanismo de seguridad importante. Se recomienda encarecidamente usar esta opción solo en entornos controlados donde la pérdida de datos sea aceptable, como desarrollo o pruebas. Deshabilitar bajo tu propio riesgo.
Protección de datos: Deshabilitar operaciones destructivas
- Deshabilitar herramientas
- Herramientas de alto riesgo
- Herramientas de riesgo medio
- Configuración de solo lectura
- Habilitación selectiva de componentes
Deshabilitar herramientas
MongoDB Lens incluye varias herramientas que pueden modificar o eliminar datos. Para deshabilitar herramientas específicas, agrégalas al arreglo disabled.tools en tu archivo de configuración:
{
"disabled": {
"tools": [
"drop-user",
"drop-index",
"drop-database",
"drop-collection",
"delete-document",
"bulk-operations",
"rename-collection"
]
}
}
[!NOTE]
Los recursos y los prompts también se pueden deshabilitar mediante las configuracionesdisabled.resourcesydisabled.prompts.
Herramientas de alto riesgo
Estas herramientas pueden causar pérdida inmediata de datos y deben considerarse para deshabilitar en entornos sensibles:
drop-user: Elimina usuarios de la base de datos y sus permisos de accesodrop-index: Elimina índices (puede afectar el rendimiento de las consultas)drop-database: Elimina permanentemente bases de datos completasdrop-collection: Elimina permanentemente colecciones y todos sus documentosdelete-document: Elimina documentos que coinciden con criterios específicosbulk-operations: Puede realizar eliminaciones por lotes cuando está configurado para hacerlorename-collection: Puede sobrescribir colecciones existentes al usar la opción de eliminar destino
Herramientas de riesgo medio
Estas herramientas pueden modificar datos, pero normalmente no causan pérdida inmediata de datos:
create-user: Crea usuarios con permisos que podrían permitir cambios adicionalestransaction: Ejecuta múltiples operaciones en una transacción (posibilidad de cambios complejos)update-document: Actualiza documentos que podrían sobrescribir datos existentes
Configuración de solo lectura
Para una configuración completamente de solo lectura, deshabilita todas las herramientas potencialmente destructivas:
{
"disabled": {
"tools": [
"drop-user",
"drop-index",
"create-user",
"transaction",
"create-index",
"drop-database",
"drop-collection",
"insert-document",
"update-document",
"delete-document",
"bulk-operations",
"create-database",
"gridfs-operation",
"create-collection",
"rename-collection",
"create-timeseries"
]
}
}
Esta configuración permite que MongoDB Lens consulte y analice datos mientras previene cualquier modificación, proporcionando múltiples capas de protección contra la pérdida accidental de datos.
Habilitación selectiva de componentes
Además de deshabilitar componentes, especifica exactamente qué componentes deben habilitarse (deshabilitando implícitamente todos los demás) usando las configuraciones enabled en tu archivo de configuración:
{
"enabled": {
"tools": [
"use-database",
"find-documents",
"count-documents",
"aggregate-data"
]
},
"disabled": {
"resources": true,
"prompts": true
}
}
[!IMPORTANT]
Si un componente aparece tanto en las listasenabledcomodisabled, la configuraciónenabledtiene prioridad.
Tutorial
El siguiente tutorial te guía a través de la configuración de un contenedor MongoDB con datos de muestra, y luego el uso de MongoDB Lens para interactuar con él mediante consultas en lenguaje natural:
- Iniciar contenedor de datos de muestra
- Importar datos de muestra
- Conectar MongoDB Lens
- Consultas de ejemplo
- Trabajar con protección de confirmación
Tutorial: 1. Iniciar contenedor de datos de muestra
[!NOTE]
Este tutorial asume que tienes Docker instalado y ejecutándose en tu sistema.
[!IMPORTANT]
Si Docker ya está ejecutando un contenedor en el puerto 27017, detenlo antes de continuar.
- Inicializa el contenedor de datos de muestra:
docker run --name mongodb-sampledata -d -p 27017:27017 mongo:6 - Verifica que el contenedor se esté ejecutando sin problemas:
docker ps | grep mongodb-sampledata
Tutorial: 2. Importar datos de muestra
MongoDB proporciona varios conjuntos de datos de muestra que usaremos para explorar MongoDB Lens.
- Descarga los conjuntos de datos de muestra:
curl -LO https://atlas-education.s3.amazonaws.com/sampledata.archive - Copia los conjuntos de datos de muestra en tu contenedor de datos de muestra:
docker cp sampledata.archive mongodb-sampledata:/tmp/ - Importa los conjuntos de datos de muestra en MongoDB:
docker exec -it mongodb-sampledata mongorestore --archive=/tmp/sampledata.archive
Esto importará varias bases de datos:
sample_airbnb: Listados y reseñas de Airbnbsample_analytics: Datos de clientes y cuentassample_geospatial: Datos geográficossample_mflix: Datos de películassample_restaurants: Datos de restaurantessample_supplies: Datos de cadena de suministrosample_training: Datos de entrenamiento para diversas aplicacionessample_weatherdata: Mediciones meteorológicas
Tutorial: 3. Conectar MongoDB Lens
Instala MongoDB Lens según las instrucciones de Inicio rápido.
Configura tu Cliente MCP para conectarse a MongoDB Lens mediante: mongodb://localhost:27017
[!TIP]
Omitir la cadena de conexión de la configuración de tu Cliente MCP hará que la cadena de conexión predeterminada seamongodb://localhost:27017.
Ejemplo de configuración de Claude Desktop:
{
"mcpServers": {
"mongodb-lens": {
"command": "/path/to/npx",
"args": [
"-y",
"mongodb-lens@latest"
]
}
}
}
Tutorial: 4. Consultas de ejemplo
Con tu Cliente MCP ejecutándose y conectado a MongoDB Lens, prueba las siguientes consultas de ejemplo:
- Consultas de ejemplo: Operaciones básicas de base de datos
- Consultas de ejemplo: Gestión de colecciones
- Consultas de ejemplo: Gestión de usuarios
- Consultas de ejemplo: Consulta de datos
- Consultas de ejemplo: Análisis de esquemas
- Consultas de ejemplo: Modificación de datos
- Consultas de ejemplo: Gestión de rendimiento e índices
- Consultas de ejemplo: Operaciones geoespaciales y especiales
- Consultas de ejemplo: Exportación, administración y otras funciones
- Consultas de ejemplo: Gestión de conexiones
Consultas de ejemplo: Operaciones básicas de base de datos
- "Lista todas las bases de datos"
➥ Usa la herramientalist-databases - "¿Qué base de datos estoy usando actualmente?"
➥ Usa la herramientacurrent-database - "Cambia a la base de datos sample_mflix"
➥ Usa la herramientause-database - "Crea una nueva base de datos llamada test_db"
➥ Usa la herramientacreate-database - "Crea otra base de datos llamada analytics_db y cambia a ella"
➥ Usa la herramientacreate-databasecon switch=true - "Elimina test_db"
➥ Usa la herramientadrop-database(con confirmación)
Consultas de ejemplo: Gestión de colecciones
- "¿Qué colecciones hay en la base de datos actual?"
➥ Usa la herramientalist-collections - "Crea la colección user_logs"
➥ Usa la herramientacreate-collection - "Renombra user_logs a system_logs"
➥ Usa la herramientarename-collection - "Elimina system_logs"
➥ Usa la herramientadrop-collection(con confirmación) - "Verifica la consistencia de datos en la colección movies"
➥ Usa la herramientavalidate-collection
Consultas de ejemplo: Gestión de usuarios
- "Crear un usuario de solo lectura para análisis"
➥ Usa la herramientacreate-user - "Eliminar la cuenta de inactive_user"
➥ Usa la herramientadrop-user(con confirmación)
Ejemplos de consultas: Consulta de datos
- "Contar todos los documentos en la colección movies"
➥ Usa la herramientacount-documents - "Encontrar las 5 mejores películas con la calificación IMDB más alta"
➥ Usa la herramientafind-documents - "Muéstrame datos agregados de películas agrupadas por década"
➥ Usa la herramientaaggregate-data - "Lista todos los países únicos donde se produjeron películas"
➥ Usa la herramientadistinct-values - "Buscar películas que contengan godfather en su título"
➥ Usa la herramientatext-search - "Encontrar usuarios alemanes con apellido müller usando la intercalación adecuada"
➥ Usa la herramientacollation-query
Ejemplos de consultas: Análisis de esquema
- "¿Cuál es la estructura de esquema de la colección movies?"
➥ Usa la herramientaanalyze-schema - "Comparar esquemas de users y comments"
➥ Usa la herramientacompare-schemas - "Generar un validador de esquema para la colección movies"
➥ Usa la herramientagenerate-schema-validator - "Analizar patrones de consulta comunes para la colección movies"
➥ Usa la herramientaanalyze-query-patterns
Ejemplos de consultas: Modificación de datos
- "Insertar nuevo documento de película: <your field data>"
➥ Usa la herramientainsert-document - "Actualizar todas las películas de 1994 para agregar un indicador 'clásico'"
➥ Usa la herramientaupdate-document - "Eliminar todas las películas con cero calificaciones"
➥ Usa la herramientadelete-document(con confirmación) - "Ejecutar estas operaciones masivas en la colección movies: <your JSON data>"
➥ Usa la herramientabulk-operations
[!TIP]
Para operaciones especializadas de MongoDB (como operaciones de arreglos, operaciones bit a bit u otras actualizaciones complejas), usa los operadores nativos de MongoDB a través de la herramientaupdate-documenty sus parámetrosupdateyoptions.
Ejemplos de consultas: Rendimiento y gestión de índices
- "Crear un índice en el campo title de la colección movies"
➥ Usa la herramientacreate-index - "Eliminar el índice ratings_idx"
➥ Usa la herramientadrop-index(con confirmación) - "Explicar el plan de ejecución para encontrar películas de 1995"
➥ Usa la herramientaexplain-query - "Obtener estadísticas de la base de datos actual"
➥ Usa la herramientaget-statscon target=database - "Mostrar estadísticas de la colección movies"
➥ Usa la herramientaget-statscon target=collection
Ejemplos de consultas: Operaciones geoespaciales y especiales
- "Cambiar a la base de datos sample_geospatial, luego encontrar todos los naufragios dentro de 10 km de las coordenadas [-80.12, 26.46]"
➥ Usa la herramientageo-query - "Cambiar a la base de datos sample_analytics, luego ejecutar una transacción para mover fondos entre cuentas: <account ids>"
➥ Usa la herramientatransaction - "Crear una colección de series temporales para lecturas de sensores"
➥ Usa la herramientacreate-timeseries - "Observar cambios en la colección users durante 30 segundos"
➥ Usa la herramientawatch-changes - "Listar todos los archivos en el bucket GridFS de images"
➥ Usa la herramientagridfs-operationcon operation=list
Ejemplos de consultas: Exportación, administración y otras características
- "Cambiar a la base de datos sample_mflix, luego exportar las 20 mejores películas según 'tomatoes.critic.rating' como CSV con los campos title, year y rating (salida en un solo bloque de código)"
➥ Usa la herramientaexport-data - "Cambiar a la base de datos sample_analytics, luego verificar su estado de sharding"
➥ Usa la herramientashard-status - "Limpiar la caché de colecciones"
➥ Usa la herramientaclear-cachecon target=collections - "Limpiar todas las cachés"
➥ Usa la herramientaclear-cache - "Cambiar a la base de datos sample_weatherdata y luego generar un informe interactivo sobre su estado actual"
➥ Usa numerosas herramientas
Ejemplos de consultas: Gestión de conexiones
- "Conectar a mongodb://localhost:27018"
➥ Usa la herramientaconnect-mongodb - "Conectar a mongodb+srv://username:password@cluster.mongodb.net/mydb"
➥ Usa la herramientaconnect-mongodb - "Volver a conectar a la instancia original de mongodb"
➥ Usa la herramientaconnect-original - "Conectar a un conjunto de réplicas sin validar la conexión: <replica set details>"
➥ Usa la herramientaconnect-mongodbcon validateConnection=false - "Agregar alias de conexión 'prod' para mongodb://username:password@prod-server:27017/mydb"
➥ Usa la herramientaadd-connection-alias
Tutorial: 5. Trabajando con la protección de confirmación
MongoDB Lens incluye un mecanismo de seguridad para operaciones potencialmente destructivas. Así es como funciona en la práctica:
- Solicitar eliminar una colección:
"Drop the collection named test_collection" - MongoDB Lens responde con una advertencia y un token de confirmación:
⚠️ DESTRUCTIVE OPERATION WARNING ⚠️ You've requested to drop the collection 'test_collection'. This operation is irreversible and will permanently delete all data in this collection. To confirm, you must type the 4-digit confirmation code EXACTLY as shown below: Confirmation code: 9876 This code will expire in 5 minutes for security purposes. - Confirmar la operación enviando el token de confirmación:
"9876" - MongoDB Lens ejecuta la operación:
Collection 'test_collection' has been permanently deleted.
Este proceso de dos pasos evita la pérdida accidental de datos al requerir confirmación explícita.
[!NOTE]
Si trabajas en un entorno controlado donde la pérdida de datos es aceptable, puedes configurar MongoDB Lens para omitir la confirmación y realizar operaciones destructivas de inmediato.
Suite de pruebas
MongoDB Lens incluye una suite de pruebas para verificar la funcionalidad en herramientas, recursos y prompts.
Suite de pruebas: Ejecutar pruebas
La suite de pruebas requiere una variable de entorno CONFIG_MONGO_URI que puede establecerse en:
- una cadena de conexión de MongoDB (por ejemplo,
mongodb://localhost:27017) mongodb-memory-server(para pruebas en memoria)
# Run Tests with MongoDB Connection String
CONFIG_MONGO_URI=mongodb://localhost:27017 node mongodb-lens.test.js
# Run Tests with In-Memory MongoDB (requires mongodb-memory-server)
CONFIG_MONGO_URI=mongodb-memory-server node mongodb-lens.test.js
Para mayor comodidad, los siguientes scripts están disponibles para ejecutar pruebas:
npm test # Fails if no CONFIG_MONGO_URI provided
npm run test:localhost # Uses mongodb://localhost:27017
npm run test:localhost:verbose # Runs with DEBUG=true for verbose output
npm run test:in-memory # Uses mongodb-memory-server
npm run test:in-memory:verbose # Runs with DEBUG=true for verbose output
[!NOTE]
La suite de pruebas crea bases de datos y colecciones temporales que se limpian al finalizar las pruebas.
Suite de pruebas: Opciones de línea de comandos
| Opción | Descripción |
|---|---|
--list | Listar todas las pruebas disponibles sin ejecutarlas |
--test=<n> | Ejecutar prueba(s) específica(s) por nombre (separadas por comas) |
--group=<n> | Ejecutar todas las pruebas en grupo(s) específico(s) (separados por comas) |
--pattern=<glob> | Ejecutar pruebas que coincidan con patrón(es) (separados por comas) |
Suite de pruebas: Ejemplos
# List All Available Tests
npm test -- --list
# Run Only Connection-Related Tests (:27017)
npm run test:localhost -- --group=Connection\ Tools
# Test Specific Database Operations (In-Memory)
npm run test:in-memory -- --test=create-database\ Tool,drop-database\ Tool
# Test All Document-Related Tools (:27017)
npm run test:localhost -- --pattern=document
# Run Resource Tests Only (In-Memory)
npm run test:in-memory -- --group=Resources
# Run Specific Tests Only (In-Memory)
npm run test:in-memory -- --test=aggregate-data\ Tool,find-documents\ Tool
Descargo de responsabilidad
MongoDB Lens:
- está licenciado bajo la Licencia MIT.
- no está afiliado ni respaldado por MongoDB, Inc.
- está escrito con la asistencia de IA y puede contener errores.
- está destinado únicamente a fines educativos y experimentales.
- se proporciona tal cual, sin garantía: úsalo bajo tu propio riesgo.
Soporte
Si has encontrado útil MongoDB Lens, considera apoyar mi trabajo a través de:
Buy Me a Coffee | GitHub Sponsorship
Las contribuciones me ayudan a seguir desarrollando y mejorando esta herramienta, permitiéndome dedicar más tiempo a agregar nuevas funciones y asegurando que siga siendo un recurso valioso para la comunidad.