hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Provides full featured access to MongoDB databases using natural language via LLMs to perform queries, run aggregations, optimize performance, and more. The server connects to MongoDB instances to allow exploration, querying, and management of databases, collections, and documents.
Lente MongoDB
MongoDB Lens es un servidor de Protocolo de Contexto de Modelo (MCP) local con acceso completo a bases de datos MongoDB que utiliza lenguaje natural a través de LLM 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
- Conjunto de pruebas
- Descargo de responsabilidad
- Apoyo
Inicio rápido
- Instalar MongoDB Lens
- Configurar MongoDB Lens
- Configura tu cliente MCP (por ejemplo, Claude Desktop , Cursor , etc.)
- Explora tus bases de datos MongoDB con consultas en lenguaje natural
Características
Herramientas
add-connection-alias
: agrega un nuevo alias de conexión de MongoDBaggregate-data
: ejecutar canalizaciones de agregaciónanalyze-query-patterns
: Analiza consultas en vivo y sugiere optimizacionesanalyze-schema
: inferir automáticamente esquemas de colecciónbulk-operations
: Realizar múltiples operaciones de manera eficiente ( requiere confirmación para operaciones destructivas)clear-cache
: Limpia los cachés de memoria para garantizar datos actualizadoscollation-query
: busca documentos con reglas de intercalación específicas del idiomacompare-schemas
: Comparar esquemas entre dos coleccionesconnect-mongodb
: Conectarse a una URI de MongoDB diferenteconnect-original
: Conectarse nuevamente a la URI original de MongoDB utilizada al iniciocount-documents
: Cuenta los documentos que coinciden con los criterios especificadoscreate-collection
: Crea nuevas colecciones con opciones personalizadascreate-database
: Crea una nueva base de datos con opción de cambiar a ellacreate-index
: crea nuevos índices para optimizar el rendimientocreate-timeseries
: Crea colecciones de series temporales para datos temporalescreate-user
: Crea nuevos usuarios de base de datos con roles específicoscurrent-database
: Muestra el contexto de la base de datos actualdelete-document
: Eliminar documentos que coincidan con los criterios especificados ( requiere confirmación )distinct-values
: Extrae valores únicos para cualquier campodrop-collection
: elimina colecciones de la base de datos ( requiere confirmación )drop-database
: Eliminar una base de datos ( requiere confirmación )drop-index
: elimina índices de colecciones ( requiere confirmación )drop-user
: eliminar usuarios de la base de datos ( requiere confirmación )explain-query
: Analizar planes de ejecución de consultasexport-data
: Exporta los resultados de la consulta en formato JSON o CSVfind-documents
: Ejecuta consultas con filtros, proyecciones y ordenamientogenerate-schema-validator
: Genera validadores de esquema JSONgeo-query
: Realiza consultas geoespaciales con varios operadoresget-stats
: recupera estadísticas de una base de datos o de una coleccióngridfs-operation
: Administra archivos grandes con buckets GridFSinsert-document
: Inserta uno o más documentos en coleccioneslist-collections
: Explora colecciones en la base de datos actuallist-connections
: Ver todos los alias de conexión de MongoDB disponibleslist-databases
: Ver todas las bases de datos accesiblesrename-collection
: cambia el nombre de las colecciones existentes ( requiere confirmación al eliminar objetivos)shard-status
: Ver la configuración de fragmentación para bases de datos y coleccionestext-search
: Realizar una búsqueda de texto completo en campos de texto indexadostransaction
: Ejecutar múltiples operaciones en una sola transacción ACIDupdate-document
: Actualizar documentos que coincidan con los criterios especificadosuse-database
: Cambiar a un contexto de base de datos específicovalidate-collection
: comprobar si hay inconsistencias en los datoswatch-changes
: Monitorea cambios en tiempo real en las colecciones
Recursos
collection-indexes
: Información de índice para una coleccióncollection-schema
: Información del esquema para una coleccióncollection-stats
: Estadísticas de rendimiento de 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 cambios de base de datos y activadores de eventosdatabase-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 creación de perfilesreplica-status
: Estado y configuración del conjunto de réplicasserver-status
: Información sobre el estado del servidorstored-functions
: Funciones de JavaScript almacenadas en la base de datos actual
Indicaciones
aggregation-builder
: creación paso a paso de canalizaciones de agregaciónbackup-strategy
: Recomendaciones personalizadas de backup y recuperacióndata-modeling
: asesoramiento experto sobre el diseño de esquemas de MongoDB para casos de uso específicosdatabase-health-check
: evaluación integral del estado de la base de datos y recomendacionesindex-recommendation
: obtenga sugerencias de índice personalizadas basadas en patrones de consultamigration-guide
: Planes de migración de versiones de MongoDB paso a pasomongo-shell
: Genera comandos de shell de MongoDB con explicacionesmulti-tenant-design
: Diseño de la arquitectura de base de datos multiinquilino de MongoDBquery-builder
: Guía interactiva para construir consultas MongoDBquery-optimizer
: Recomendaciones de optimización para consultas lentasschema-analysis
: Análisis detallado del esquema de colección con recomendacionesschema-versioning
: gestión de la evolución de esquemas en aplicaciones MongoDBsecurity-audit
: análisis de seguridad de bases de datos y recomendaciones de mejorasql-to-mongodb
: Convierte consultas SQL en canales de agregación de MongoDB
Otras características
Otras características: Descripción general
MongoDB Lens incluye numerosas otras funciones:
- Archivo de configuración : configuración personalizada a través de
~/.mongodb-lens.[jsonc|json]
- Anulaciones de variables de entorno : anula las configuraciones mediante
process.env.CONFIG_*
- Sistema de confirmación : verificación en dos pasos para operaciones destructivas
- Conexiones múltiples : definir y cambiar entre alias de URI nombrados
- Deshabilitación de componentes : deshabilite selectivamente herramientas, indicaciones o recursos
- Resiliencia de la conexión : reconexión automática con retroceso exponencial
- Protecciones de consulta : límites configurables y protecciones de rendimiento
- Manejo de errores : códigos y mensajes de error JSONRPC completos
- Inferencia de esquemas : análisis de esquemas eficiente con muestreo inteligente
- Protección de credenciales : Ofuscación de contraseñas de cadenas de conexión en registros
- Gestión de memoria : supervisión y limpieza automáticas para operaciones de gran tamaño
- Almacenamiento en caché inteligente : almacenamiento en caché optimizado para esquemas, índices, campos y colecciones
- Compatibilidad con versiones anteriores : admite versiones modernas y heredadas de MongoDB
Otras características: nuevos metadatos de la 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 y al mismo tiempo garantiza que la base de datos nueva, que de otro modo estaría vacía, persista en el sistema de almacenamiento de MongoDB.
Una vez que haya agregado sus propias colecciones a su nueva base de datos, puede eliminar de forma segura la colección metadata
mediante la herramienta de drop-collection
:
- "Eliminar la colección de metadatos de la nueva base de datos" ➥ Utiliza la herramienta
drop-collection
(con confirmación)
Instalación
MongoDB Lens se puede instalar y ejecutar de varias maneras:
- NPX (el más fácil)
- Centro de Docker
- Node.js desde el código fuente
- Docker desde la fuente
- Verificación de la instalación
- Versiones anteriores de MongoDB
Instalación: NPX
[!NOTA] NPX requiere que Node.js esté instalado y ejecutándose en su sistema (sugerencia: use Volta ).
La forma más sencilla de ejecutar MongoDB Lens es utilizando NPX.
Primero, asegúrese de que Node.js esté instalado:
Luego, ejecute MongoDB Lens a través de NPX:
[!TIP] Si encuentra errores de permisos con
npx
, intente ejecutarnpx clear-npx-cache
antes de ejecutarnpx -y mongodb-lens
(esto borra el caché y vuelve a descargar el paquete).
Instalación: Docker Hub
[!NOTA] Docker Hub requiere que Docker esté instalado y ejecutándose en su sistema.
Primero, asegúrese de que Docker esté instalado:
Luego, ejecute MongoDB Lens a través de Docker Hub:
Instalación: Node.js desde la fuente
[!NOTA] Node.js desde la fuente requiere que Node.js esté instalado y ejecutándose en su sistema (sugerencia: use Volta ).
- Clonar el repositorio de MongoDB Lens:Copy
- Navegue hasta el directorio del repositorio clonado:Copy
- Asegúrese de que Node.js esté instalado:Copy
- Instalar las dependencias de Node.js:Copy
- Iniciar el servidor:Copy
Instalación: Docker desde el código fuente
[!NOTA] Para ejecutar Docker desde la fuente es necesario tener Docker instalado y ejecutándose en su sistema.
- Clonar el repositorio de MongoDB Lens:Copy
- Navegue hasta el directorio del repositorio clonado:Copy
- Asegúrese de que Docker esté instalado:Copy
- Construya la imagen de Docker:Copy
- Ejecute el contenedor:Copy
Verificación de la instalación
Para verificar la instalación, pegue y ejecute el siguiente mensaje JSONRPC en el stdio del servidor:
El servidor debería responder con una lista de bases de datos en su instancia de MongoDB, por ejemplo:
MongoDB Lens ahora está instalado y listo para aceptar solicitudes MCP.
Instalación: versiones anteriores de MongoDB
Si se conecta a una instancia de MongoDB con una versión anterior < 4.0
, el controlador Node.js de MongoDB utilizado por la última versión de MongoDB Lens no será compatible. En concreto, las versiones 4.0.0
y posteriores del controlador Node.js de MongoDB requieren la versión 4.0
o superior de MongoDB.
Para utilizar MongoDB Lens con instancias de MongoDB más antiguas, debe utilizar una versión del controlador MongoDB Node.js de la serie 3.x
(por ejemplo, 3.7.4
que es compatible con MongoDB 3.6
).
Versiones anteriores de MongoDB: Ejecución desde el código fuente
- Clonar el repositorio de MongoDB Lens:Copy
- Navegue hasta el directorio del repositorio clonado:Copy
- Modificar
package.json
:Copy - Instalar las dependencias de Node.js:Copy
- Iniciar MongoDB Lens:Copy
Esto utilizará la versión anterior del controlador compatible con su instancia de MongoDB.
[!NOTE] Es posible que también necesites revertir esta confirmación para volver a agregar las opciones de configuración de MongoDB
useNewUrlParser
yuseUnifiedTopology
.
Versiones anteriores de MongoDB: uso de NPX o Docker
Si prefiere utilizar NPX o Docker, necesitará utilizar una versión anterior de MongoDB Lens que se haya publicado con un controlador compatible.
Por ejemplo, MongoDB Lens 8.3.0
utiliza el controlador MongoDB Node.js 3.7.4
(ver: package-lock.json
).
Para ejecutar una versión anterior de MongoDB Lens usando NPX, especifique la etiqueta de versión:
Lo mismo para Docker:
Configuración
- Cadena de conexión de MongoDB
- Archivo de configuración
- Generación de archivos de configuración
- Múltiples conexiones 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 MongoDB como su único argumento.
Ejemplo de uso de NPX:
Las cadenas de conexión de MongoDB tienen el siguiente formato:
Cadenas de conexión de ejemplo:
- Conexión local:
mongodb://localhost:27017
- Conexión a
mydatabase
con credenciales de la base de datosadmin
:mongodb://username:password@hostname:27017/mydatabase?authSource=admin
- Conexión a
mydatabase
con varias otras opciones:mongodb://hostname:27017/mydatabase?retryWrites=true&w=majority
Si no se proporciona ninguna cadena de conexión, el servidor intentará conectarse a través de la conexión local.
Configuración: Archivo de configuración
MongoDB Lens admite una amplia personalización a través del archivo de configuración JSON.
[!NOTA] 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 necesitas incluir la configuración que quieras personalizar en el archivo de configuración. MongoDB Lens usará la configuración predeterminada para cualquier valor omitido.
[!TIP] MongoDB Lens admite los formatos de archivos de configuración
.json
y.jsonc
(JSON con comentarios).
De forma predeterminada, MongoDB Lens busca el archivo de configuración en:
~/.mongodb-lens.jsonc
primero, luego retrocede a~/.mongodb-lens.json
si el anterior no existe
Para personalizar la ruta del archivo de configuración, configure la variable de entorno CONFIG_PATH
en la ruta de archivo deseada.
Ejemplo de uso de NPX:
Ejemplo de uso de Docker Hub:
Configuración: Generación del archivo de configuración
Puede generar un archivo de configuración automáticamente utilizando el script config:create
:
Este script extrae el archivo de configuración de ejemplo anterior y lo guarda en: ~/.mongodb-lens.jsonc
Generación de archivo de configuración: ruta personalizada
Puede especificar una ubicación de salida personalizada utilizando la variable de entorno CONFIG_PATH
.
- Si
CONFIG_PATH
no tiene extensión de archivo, se trata como un directorio y se agrega.mongodb-lens.jsonc
- Si
CONFIG_PATH
termina con.json
(no.jsonc
), los comentarios se eliminan del archivo generado
Ejemplo de uso de NPX:
Ejemplo de uso de Node.js:
Configuración: Múltiples conexiones 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 la configuración de mongoUri
en un objeto con pares alias-URI:
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 aún funciona:
"Connect to mongodb://localhost:27018"
- La herramienta
list-connections
muestra todos los alias de conexión disponibles
[!NOTA] Al utilizar el argumento de la línea de comandos para especificar una conexión, puede utilizar un URI MongoDB completo o un alias definido en su archivo de configuración.
[!TIP] Para agregar alias de conexión en tiempo de ejecución, utilice la herramienta
add-connection-alias
.
Configuración: Anulaciones de variables de entorno
MongoDB Lens admite anulaciones de variables de entorno para configuraciones.
Las variables de entorno tienen prioridad sobre la configuración del archivo de configuración .
Las variables de entorno de configuración siguen el patrón de nombres:
Ejemplos de anulaciones:
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 valores de variables de entorno:
- Para configuraciones booleanas, utilice valores de cadena
'true'
o'false'
. - Para configuraciones numéricas, utilice representaciones de cadenas.
- Para objetos o matrices anidados, utilice cadenas JSON.
Ejemplo de uso de NPX:
Ejemplo de uso de Docker Hub:
Configuración: variables de entorno multiplataforma
Para un uso consistente de las variables de entorno en Windows, macOS y Linux, considere usar cross-env
:
- Instalar cross-env globalmente:Copy
- Prefije cualquier variable de entorno NPX o Node.js en los ejemplos de este documento:Copy
Configuración del cliente
Configuración del cliente: Claude Desktop
Para utilizar MongoDB Lens con Claude Desktop:
- Instalar Claude Desktop
- Abra
claude_desktop_config.json
(créelo si no existe):- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Ventanas:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
- Agregue la configuración del servidor MongoDB Lens según las opciones de configuración
- Reiniciar Claude Desktop
- Inicie una conversación con Claude sobre sus datos de MongoDB
Opciones de configuración del escritorio de Claude
- 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-string
con su cadena de conexión MongoDB u omítala para utilizar la cadena predeterminadamongodb://localhost:27017
. - Para utilizar un archivo de configuración personalizado, configure la variable de entorno
CONFIG_PATH
. - Para incluir variables de entorno:
- Para NPX o Node.js agregue
"env": {}
con pares clave-valor, por ejemplo:Copy - Para Docker, agregue los indicadores
-e
, por ejemplo:Copy
- Para NPX o Node.js agregue
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
Configuración del cliente: Inspector MCP
MCP Inspector es una herramienta diseñada para probar y depurar servidores MCP.
[!NOTA] MCP Inspector inicia un servidor proxy en el puerto 3000 y un cliente web en el puerto 5173.
Ejemplo de uso de NPX:
- Ejecutar MCP Inspector:Copy
- Abrir el inspector MCP: http://localhost:5173
MCP Inspector debe admitir la gama completa de capacidades de MongoDB Lens, incluido el autocompletado de nombres de colecciones y campos de consulta.
Para obtener más información, consulte: Inspector MCP
Configuración del cliente: otros clientes MCP
MongoDB Lens debería poder utilizarse con cualquier cliente compatible con MCP.
Para obtener más información, consulte: Documentación de MCP: clientes de ejemplo
Protección de datos
Para proteger sus datos mientras utiliza MongoDB Lens, tenga en cuenta lo siguiente:
- Cuentas de usuario de solo lectura
- Trabajar con copias de seguridad de bases de datos
- Consideraciones sobre el flujo de datos
- Confirmación de operaciones destructivas
- Desactivació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 las acciones que se pueden realizar. Cuando sea adecuado, un usuario de solo lectura puede evitar escrituras o eliminaciones no deseadas, lo que garantiza que MongoDB Lens pueda consultar datos, pero no modificarlos.
Para configurar esto, cree un usuario con el rol read
en el ámbito de las bases de datos de destino. En MongoDB, ejecute algo como esto:
Luego, aplique esas credenciales a su cadena de conexión MongoDB:
El uso de credenciales de solo lectura es una forma simple pero efectiva de imponer límites de seguridad, especialmente cuando estás revisando esquemas o ejecutando consultas ad hoc.
Protección de datos: trabajar con copias de seguridad de bases de datos
Al trabajar con MongoDB Lens, considere conectarse a una copia de respaldo de sus datos alojada en una instancia de MongoDB separada.
Comience generando la copia de seguridad con mongodump
. A continuación, cree una nueva instancia de MongoDB (por ejemplo, en un puerto diferente, como 27018
) y restaure la copia de seguridad allí con mongorestore
. Una vez que esté en ejecución, apunte a 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 protegido para probar operaciones complejas o destructivas sin correr el riesgo de dañar accidentalmente 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 confidenciales con proyección
- Alias y contraseñas de conexión
- Configuración local para máxima seguridad
Consideraciones sobre el flujo de datos: cómo fluyen sus datos a través del sistema
Al utilizar un servidor MCP con un proveedor 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 confidencial de exposiciones no deseadas.
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 utiliza una instancia local de MongoDB, los mismos principios se aplican a las instancias remotas de MongoDB.
- Envías una solicitud ➥ p. ej. "Muéstrame todos los usuarios mayores de 30 años"
- Su cliente envía la solicitud al LLM remoto➥ El proveedor de LLM recibe sus palabras exactas junto con una lista de herramientas MCP disponibles y sus parámetros.
- El LLM remoto interpreta su solicitud➥ Determina su intención y le indica al cliente que utilice una herramienta MCP específica con los parámetros apropiados.
- El cliente le pide a MongoDB Lens que ejecute la herramienta. Esto ocurre localmente en su máquina a través de stdio.
- MongoDB Lens consulta su base de datos MongoDB
- MongoDB Lens recupera los resultados de su consulta de MongoDB
- MongoDB Lens envía los datos de vuelta al cliente➥ El cliente recibe resultados formateados por MongoDB Lens.
- El cliente enví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 le muestra la respuesta.
El proveedor remoto de LLM ve tanto su solicitud original como la respuesta completa de MongoDB Lens. Si su 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 tome precauciones.
Consideraciones sobre el flujo de datos: protección de datos confidenciales con proyección
Para evitar que se envíen datos confidenciales al proveedor LLM remoto, utilice el concepto de proyección al usar herramientas como find-documents
, aggregate-data
o export-data
. La proyección permite especificar qué campos incluir o excluir en los resultados de la consulta, garantizando así que la información confidencial permanezca local.
Ejemplo de uso de proyección:
- "Muéstrame todos los usuarios mayores de 30 años, pero usa proyección para ocultar sus contraseñas". ➥ Usa la herramienta
find-documents
con 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
, evite agregar alias a URIs que contengan contraseñas si utiliza un proveedor LLM remoto. Dado que su solicitud se envía al LLM, cualquier contraseña en el URI podría quedar expuesta. En su lugar, defina 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 no se aborda en este documento, para obtener el máximo nivel de privacidad de datos, considere usar un cliente MCP local junto con un modelo LLM alojado localmente. Este enfoque mantiene todas las solicitudes y datos dentro de su entorno local, eliminando el riesgo de que se envíe información confidencial 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 lo contrario, podrían provocar una pérdida de datos sin control:
- 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 proporciona el token válido
Para ver un ejemplo del proceso de confirmación, consulte: 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 será eliminada
Este mecanismo de protección busca prevenir la pérdida accidental de datos debido a errores tipográficos y comandos no deseados. Es una medida de seguridad que le garantiza conocer las consecuencias antes de realizar acciones potencialmente dañinas.
[!NOTA] Si está trabajando en un entorno controlado donde la pérdida de datos es aceptable, puede configurar MongoDB Lens para omitir la confirmación y realizar operaciones destructivas de inmediato.
Evitar la confirmación de operaciones destructivas
Es posible que desees omitir el sistema de confirmación de token.
Establezca la variable de entorno CONFIG_DISABLE_DESTRUCTIVE_OPERATION_TOKENS
en true
para ejecutar operaciones destructivas inmediatamente sin confirmación:
[!ADVERTENCIA] Deshabilitar los tokens de confirmación elimina un importante mecanismo de seguridad. Se recomienda encarecidamente usar esta opción solo en entornos controlados donde la pérdida de datos sea aceptable, como en desarrollo o pruebas. Desactívela bajo su propia responsabilidad.
Protección de datos: Desactivación de 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 permiten modificar o eliminar datos. Para deshabilitar herramientas específicas, añádalas a la matriz disabled.tools
en su archivo de configuración :
[!NOTA] Los recursos y las indicaciones también se pueden deshabilitar mediante las configuraciones
disabled.resources
ydisabled.prompts
.
Herramientas de alto riesgo
Estas herramientas pueden provocar una pérdida inmediata de datos y se debe considerar desactivarlas en entornos sensibles:
drop-user
: elimina los 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 las colecciones y todos sus documentosdelete-document
: elimina documentos que coinciden con los criterios especificadosbulk-operations
: puede realizar eliminaciones por lotes cuando está configurado para hacerlorename-collection
: puede sobrescribir colecciones existentes al usar la opción de destino de colocación
Herramientas de riesgo medio
Estas herramientas pueden modificar datos, pero normalmente no provocan una pérdida de datos inmediata:
create-user
: Crea usuarios con permisos que podrían permitir cambios adicionalestransaction
: ejecuta múltiples operaciones en una transacción (potencial para cambios complejos)update-document
: Actualiza documentos que podrían sobrescribir datos existentes
Configuración de solo lectura
Para una configuración de solo lectura completa, desactive todas las herramientas potencialmente destructivas:
Esta configuración permite a MongoDB Lens consultar y analizar datos mientras evita 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 los componentes , especifique exactamente qué componentes deben habilitarse (deshabilitando implícitamente todos los demás) utilizando las configuraciones enabled
en su archivo de configuración :
[!IMPORTANTE] Si un componente aparece en las listas de
enabled
ydisabled
, la configuraciónenabled
tiene prioridad.
Tutorial
El siguiente tutorial lo guiará 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 a través de consultas en lenguaje natural:
- Iniciar contenedor de datos de muestra
- Importar datos de muestra
- Conectar MongoDB Lens
- Consultas de ejemplo
- Trabajar con la protección de confirmación
Tutorial: 1. Iniciar el contenedor de datos de muestra
[!NOTA] Este tutorial asume que tiene Docker instalado y ejecutándose en su sistema.
[!IMPORTANTE] Si Docker ya está ejecutando un contenedor en el puerto 27017, deténgalo antes de continuar.
- Inicialice el contenedor de datos de muestra:Copy
- Verifique que el contenedor se esté ejecutando sin problemas:Copy
Tutorial: 2. Importar datos de muestra
MongoDB proporciona varios conjuntos de datos de muestra que usaremos para explorar MongoDB Lens.
- Descargue los conjuntos de datos de muestra:Copy
- Copie los conjuntos de datos de muestra en su contenedor de datos de muestra:Copy
- Importe los conjuntos de datos de muestra a MongoDB:Copy
Esto importará varias bases de datos:
sample_airbnb
: Anuncios y reseñas de Airbnbsample_analytics
: Datos de clientes y cuentassample_geospatial
: Datos geográficossample_mflix
: Datos de películassample_restaurants
: Datos del restaurantesample_supplies
: Datos de la cadena de suministrosample_training
: Datos de entrenamiento para diversas aplicacionessample_weatherdata
: Mediciones meteorológicas
Tutorial: 3. Conectar MongoDB Lens
Instale MongoDB Lens según las instrucciones de inicio rápido .
Configure su cliente MCP para conectarse a MongoDB Lens a través de: mongodb://localhost:27017
[!TIP] Si omite la cadena de conexión de la configuración del cliente MCP, la cadena de conexión predeterminada será
mongodb://localhost:27017
.
Ejemplo de configuración de Claude Desktop :
Tutorial: 4. Consultas de ejemplo
Con su cliente MCP en ejecución y conectado a MongoDB Lens, pruebe las siguientes consultas de ejemplo:
- Consultas de ejemplo: Operaciones básicas de bases 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: Rendimiento y gestión de í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 bases de datos
- "Listar todas las bases de datos" ➥ Utiliza la herramienta
list-databases
- "¿Qué base de datos estoy usando actualmente?" ➥ Utiliza la herramienta
current-database
- "Cambiar a la base de datos sample_mflix" ➥ Utiliza la herramienta
use-database
- "Crear una nueva base de datos llamada test_db" ➥ Utiliza la herramienta
create-database
- "Crea otra base de datos llamada analytics_db y cámbiate a ella" ➥ Utiliza la herramienta
create-database
con switch=true - "Drop test_db" ➥ Utiliza la herramienta
drop-database
(con confirmación)
Consultas de ejemplo: Gestión de colecciones
- "¿Qué colecciones hay en la base de datos actual?" ➥ Utiliza la herramienta
list-collections
- "Crear colección de registros de usuario" ➥ Utiliza la herramienta
create-collection
- "Cambiar el nombre de user_logs a system_logs" ➥ Utiliza la herramienta
rename-collection
- "Eliminar registros del sistema" ➥ Utiliza la herramienta
drop-collection
(con confirmación) - "Verificar la consistencia de los datos en la colección de películas" ➥ Utiliza la herramienta
validate-collection
Consultas de ejemplo: Gestión de usuarios
- "Crear un usuario de solo lectura para análisis" ➥ Utiliza la herramienta
create-user
- "Eliminar la cuenta inactive_user" ➥ Utiliza la herramienta
drop-user
(con confirmación)
Consultas de ejemplo: Consulta de datos
- "Contar todos los documentos de la colección de películas" ➥ Utiliza la herramienta
count-documents
- Encuentra las 5 mejores películas con la calificación más alta en IMDB ➥ Utiliza la herramienta de
find-documents
- "Muéstrame datos agregados de películas agrupadas por década" ➥ Utiliza la herramienta
aggregate-data
- "Enumera todos los países únicos donde se produjeron películas" ➥ Utiliza la herramienta
distinct-values
- "Buscar películas que contengan "El Padrino" en su título" ➥ Utiliza la herramienta
text-search
- "Buscar usuarios alemanes con el apellido Müller usando la intercalación adecuada" ➥ Utiliza la herramienta
collation-query
Consultas de ejemplo: análisis de esquemas
- "¿Cuál es la estructura del esquema de la colección de películas?" ➥ Utiliza la herramienta
analyze-schema
- "Comparar esquemas de usuarios y comentarios" ➥ Utiliza la herramienta
compare-schemas
- "Generar un validador de esquema para la colección de películas" ➥ Utiliza la herramienta
generate-schema-validator
- Analizar patrones de consulta comunes para la colección de películas ➥ Utiliza la herramienta
analyze-query-patterns
Consultas de ejemplo: Modificación de datos
- "Insertar nuevo documento de película: " ➥ Utiliza la herramienta
insert-document
- "Actualizar todas las películas desde 1994 para añadir una bandera 'clásica'" ➥ Utiliza la herramienta
update-document
- "Eliminar todas las películas con cero calificaciones" ➥ Utiliza la herramienta
delete-document
(con confirmación) - "Ejecute estas operaciones masivas en la colección de películas: " ➥ Utiliza la herramienta
bulk-operations
[!TIP] Para operaciones especializadas de MongoDB (como operaciones de matriz, operaciones bit a bit u otras actualizaciones complejas), utilice los operadores nativos de MongoDB a través de los parámetros
update
yoptions
de la herramientaupdate-document
.
Consultas de ejemplo: Rendimiento y gestión de índices
- "Crear un índice en el campo de título en la colección de películas" ➥ Utiliza la herramienta
create-index
- Eliminar el índice ratings_idx ➥ Utiliza la herramienta de
drop-index
(con confirmación) - "Explica el plan de ejecución para encontrar películas de 1995" ➥ Utiliza la herramienta
explain-query
- "Obtener estadísticas para la base de datos actual" ➥ Utiliza la herramienta
get-stats
con target=database - "Mostrar estadísticas de la colección de películas" ➥ Utiliza la herramienta
get-stats
con el objetivo = colección
Consultas de ejemplo: operaciones geoespaciales y especiales
- "Cambiar a la base de datos sample_geospatial y luego buscar todos los naufragios en un radio de 10 km de las coordenadas [-80.12, 26.46]" ➥ Utiliza la herramienta
geo-query
- "Cambiar a la base de datos sample_analytics, luego ejecutar una transacción para mover fondos entre cuentas: " ➥ Utiliza la herramienta
transaction
- "Crear una colección de series temporales para las lecturas de los sensores" ➥ Utiliza la herramienta
create-timeseries
- "Observar cambios en la colección de usuarios durante 30 segundos" ➥ Utiliza la herramienta de
watch-changes
- "Enumerar todos los archivos en el depósito de imágenes GridFS" ➥ Utiliza la herramienta
gridfs-operation
con operation=list
Consultas de ejemplo: Exportación, administración y otras funciones
- "Cambie a la base de datos sample_mflix y luego exporte las 20 mejores películas según 'tomatoes.critic.rating' como un archivo CSV con títulos, años y clasificaciones (salida en un solo bloque de código)" ➥ Utiliza la herramienta
export-data
- "Cambiar a la base de datos sample_analytics y luego verificar su estado de fragmentación" ➥ Utiliza la herramienta
shard-status
- "Borrar la caché de colecciones" ➥ Utiliza la herramienta
clear-cache
con el objetivo = colecciones - "Borrar todos los cachés" ➥ Utiliza la herramienta de
clear-cache
- "Cambie a la base de datos sample_weatherdata y luego genere un informe interactivo sobre su estado actual" ➥ Utiliza numerosas herramientas
Consultas de ejemplo: Gestión de conexiones
- "Conectarse a mongodb://localhost:27018" ➥ Utiliza la herramienta
connect-mongodb
- "Conectarse a mongodb+srv://nombreusuario: contraseña@cluster.mongodb.net /mydb" ➥ Utiliza la herramienta
connect-mongodb
- "Conectarse de nuevo a la instancia original de MongoDB" ➥ Utiliza la herramienta
connect-original
- "Conectarse al conjunto de réplicas sin validar la conexión: <detalles del conjunto de réplicas>" ➥ Utiliza la herramienta
connect-mongodb
con validateConnection=false - "Agregar alias de conexión 'prod' para mongodb://nombreusuario:contraseña@servidor-prod:27017/mydb" ➥ Utiliza la herramienta
add-connection-alias
Tutorial: 5. Cómo trabajar 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:
- Solicitud para dar de baja una colección:Copy
- MongoDB Lens responde con un token de advertencia y confirmación:Copy
- Confirme la operación enviando el token de confirmación:Copy
- MongoDB Lens ejecuta la operación:Copy
Este proceso de dos pasos evita la pérdida accidental de datos al requerir una confirmación explícita.
[!NOTA] Si está trabajando en un entorno controlado donde la pérdida de datos es aceptable, puede configurar MongoDB Lens para omitir la confirmación y realizar operaciones destructivas de inmediato.
Conjunto de pruebas
MongoDB Lens incluye un conjunto de pruebas para verificar la funcionalidad en herramientas, recursos y avisos.
Conjunto de pruebas: Ejecución de pruebas
El conjunto de pruebas requiere una variable de entorno CONFIG_MONGO_URI
que se puede configurar como:
- una cadena de conexión MongoDB (por ejemplo
mongodb://localhost:27017
) mongodb-memory-server
(para pruebas en memoria)
Para mayor comodidad, los siguientes scripts están disponibles para ejecutar pruebas:
[!NOTA] El conjunto de pruebas crea bases de datos y colecciones temporales que se limpian una vez finalizada la prueba.
Conjunto de pruebas: opciones de línea de comandos
Opción | Descripción |
---|---|
--list | Enumere todas las pruebas disponibles sin ejecutarlas |
--test=<n> | Ejecutar pruebas específicas por nombre (separado por comas) |
--group=<n> | Ejecutar todas las pruebas en grupos específicos (separados por comas) |
--pattern=<glob> | Ejecutar pruebas que coincidan con el(los) patrón(es) (separados por comas) |
Conjunto de pruebas: ejemplos
Descargo de responsabilidad
Lente MongoDB:
- está licenciado bajo la licencia MIT .
- no está afiliado ni respaldado por MongoDB, Inc.
- Está escrito con la ayuda de IA y puede contener errores.
- Está destinado únicamente a fines educativos y experimentales.
- Se proporciona tal cual, sin garantía. Úselo bajo su propio riesgo.
Apoyo
Si MongoDB Lens le ha resultado útil, considere apoyar mi trabajo a través de:
Invítame a un café | Patrocinio de GitHub
Las contribuciones me ayudan a seguir desarrollando y mejorando esta herramienta, lo que me permite dedicar más tiempo a agregar nuevas funciones y garantizar que siga siendo un recurso valioso para la comunidad.
This server cannot be installed
Servidor MCP con todas las funciones para el análisis de bases de datos MongoDB.
- Contents
- Quick Start
- Features
- Installation
- Configuration
- Client Setup
- Data Protection
- Tutorial
- Test Suite
- Disclaimer
- Support