MongoDB MCP Server

Official
by mongodb-js
Apache 2.0
303
14
  • Apple
  • Linux

Integrations

  • Enables GitHub Copilot to interact with MongoDB databases through the MCP server, allowing natural language queries and operations against MongoDB resources.

  • Provides tools for interacting with MongoDB Atlas resources and databases, supporting operations like querying, aggregation, document creation/modification, collection management, index creation, and database administration.

Servidor MCP de MongoDB

Un servidor de protocolo de contexto de modelo para interactuar con bases de datos MongoDB y MongoDB Atlas.

📚 Índice de contenidos

Prerrequisitos

  • Node.js (v20 o posterior)
node -v
  • Una cadena de conexión de MongoDB o credenciales de API de Atlas, el servidor no se iniciará a menos que esté configurado .
    • Se requieren credenciales de la API de Atlas para usar las herramientas de Atlas. Puede crear una cuenta de servicio en MongoDB Atlas y usar sus credenciales para la autenticación. Consulte Acceso a la API de Atlas para obtener más información.
    • Si tiene una cadena de conexión MongoDB, puede usarla directamente para conectarse a su instancia MongoDB.

Configuración

Inicio rápido

La mayoría de los clientes MCP requieren que se cree o modifique un archivo de configuración para agregar el servidor MCP.

Opción 1: Argumentos de la cadena de conexión

Puede pasar su cadena de conexión a través de argumentos, asegúrese de utilizar un nombre de usuario y contraseña válidos.

{ "servers": { "MongoDB": { "command": "npx", "args": [ "-y", "mongodb-mcp-server", "--connectionString", "mongodb+srv://username:password@cluster.mongodb.net/myDatabase" ] } } }
Opción 2: Argumentos de credenciales de la API de Atlas

Use las credenciales de su cuenta de servicio Atlas API. Más información en la sección Acceso a la API de Atlas .

{ "servers": { "MongoDB": { "command": "npx", "args": [ "-y", "mongodb-mcp-server", "--apiClientId", "your-atlas-client-id", "--apiClientSecret", "your-atlas-client-secret" ] } } }
Otras opciones

Alternativamente, puede utilizar variables de entorno en el archivo de configuración o configurarlas y ejecutar el servidor a través de npx.

  • Ejemplo de cadena de conexión a través de variables de entorno en el archivo MCP
  • Ejemplo de credenciales de la API de Atlas a través de variables de entorno en el archivo MCP

🛠️ Herramientas compatibles

Lista de herramientas

Herramientas de MongoDB Atlas
  • atlas-list-orgs - Listas de organizaciones de MongoDB Atlas
  • atlas-list-projects - Lista de proyectos de MongoDB Atlas
  • atlas-create-project : crea un nuevo proyecto Atlas de MongoDB
  • atlas-list-clusters : lista los clústeres de MongoDB Atlas
  • atlas-inspect-cluster : inspecciona un clúster específico de MongoDB Atlas
  • atlas-create-free-cluster : crea un clúster gratuito de MongoDB Atlas
  • atlas-connect-cluster : se conecta al clúster Atlas de MongoDB
  • atlas-inspect-access-list : Inspeccione rangos de IP/CIDR con acceso a clústeres de MongoDB Atlas
  • atlas-create-access-list : configura la lista de acceso IP/CIDR para clústeres de MongoDB Atlas
  • atlas-list-db-users - Lista de usuarios de la base de datos Atlas de MongoDB
  • atlas-create-db-user : enumera los usuarios de la base de datos Atlas de MongoDB

NOTA: las herramientas de atlas solo están disponibles cuando configura las credenciales en la sección de configuración .

Herramientas de base de datos MongoDB
  • connect - Conectarse a una instancia de MongoDB
  • find - Ejecuta una consulta de búsqueda en una colección de MongoDB
  • aggregate - Ejecutar una agregación contra una colección de MongoDB
  • count - Obtener la cantidad de documentos en una colección de MongoDB
  • insert-one - Inserta un solo documento en una colección MongoDB
  • insert-many : inserta varios documentos en una colección MongoDB
  • create-index : crea un índice para una colección de MongoDB
  • update-one - Actualizar un solo documento en una colección de MongoDB
  • update-many : actualiza varios documentos en una colección de MongoDB
  • rename-collection - Cambiar el nombre de una colección de MongoDB
  • delete-one : elimina un solo documento de una colección de MongoDB
  • delete-many : elimina varios documentos de una colección MongoDB
  • drop-collection - Eliminar una colección de una base de datos MongoDB
  • drop-database - Eliminar una base de datos MongoDB
  • list-databases : enumera todas las bases de datos para una conexión MongoDB
  • list-collections : enumera todas las colecciones de una base de datos determinada
  • collection-indexes : describe los índices de una colección
  • collection-schema : Describe el esquema de una colección
  • collection-storage-size : obtiene el tamaño de una colección en MB
  • db-stats : devuelve estadísticas sobre una base de datos MongoDB

Configuración

El servidor MongoDB MCP se puede configurar utilizando varios métodos, con la siguiente precedencia (de mayor a menor):

  1. Argumentos de la línea de comandos
  2. Variables de entorno

Opciones de configuración

OpciónDescripción
apiClientIdID de cliente de la API de Atlas para autenticación
apiClientSecretSecreto del cliente de la API de Atlas para la autenticación
connectionStringCadena de conexión MongoDB para conexiones directas a bases de datos (los usuarios opcionales pueden optar por informarlo en cada llamada a la herramienta)
logPathCarpeta para almacenar registros
disabledToolsUna matriz de nombres de herramientas, tipos de operaciones y/o categorías de herramientas que se deshabilitarán
readOnlyCuando se establece como verdadero, solo permite los tipos de operaciones de lectura y metadatos, y deshabilita las operaciones de creación, actualización y eliminación.
telemetryCuando se configura como deshabilitado, deshabilita la recopilación de telemetría.
Ruta de registro

La ubicación del registro predeterminada es la siguiente:

  • Ventanas: %LOCALAPPDATA%\mongodb\mongodb-mcp\.app-logs
  • macOS/Linux: ~/.mongodb/mongodb-mcp/.app-logs
Herramientas deshabilitadas

Puede deshabilitar herramientas específicas o categorías de herramientas mediante la opción disabledTools . Esta opción acepta una matriz de cadenas, donde cada cadena puede ser el nombre de una herramienta, un tipo de operación o una categoría.

La forma en que se construye la matriz depende del tipo de método de configuración que utilice:

  • Para configurar la variable de entorno , utilice una cadena separada por comas: export MDB_MCP_DISABLED_TOOLS="create,update,delete,atlas,collectionSchema" .
  • Para la configuración de argumentos de la línea de comandos , utilice una cadena separada por espacios: --disabledTools create update delete atlas collectionSchema .

Categorías de herramientas:

  • atlas - Herramientas Atlas de MongoDB, como listar clústeres, crear clústeres, etc.
  • mongodb : herramientas de base de datos MongoDB, como búsqueda, agregación, etc.

Tipos de operación:

  • create - Herramientas que crean recursos, como crear clúster, insertar documento, etc.
  • update - Herramientas que actualizan recursos, como actualizar documentos, cambiar el nombre de una colección, etc.
  • delete - Herramientas que eliminan recursos, como eliminar documento, eliminar colección, etc.
  • read : herramientas que leen recursos, como buscar, agregar, enumerar clústeres, etc.
  • metadata : herramientas que leen metadatos, como bases de datos de listas, colecciones de listas, esquemas de colecciones, etc.
Modo de solo lectura

La opción de configuración readOnly permite restringir el servidor MCP para que solo use herramientas con operaciones de lectura y metadatos. Al habilitarla, las herramientas con operaciones de creación, actualización o eliminación no se registrarán en el servidor.

Esto es útil para escenarios en los que desea proporcionar acceso a los datos de MongoDB para su análisis sin permitir ninguna modificación en los datos o la infraestructura.

Puede habilitar el modo de solo lectura usando:

  • Variable de entorno : export MDB_MCP_READ_ONLY=true
  • Argumento de la línea de comandos : --readOnly

Cuando el modo de solo lectura está activo, verá un mensaje en los registros del servidor que indica qué herramientas no pudieron registrarse debido a esta restricción.

Telemetría

La opción de configuración telemetry permite deshabilitar la recopilación de datos de telemetría. Al habilitarla, el servidor MCP recopilará datos de uso y los enviará a MongoDB.

Puede desactivar la telemetría mediante:

  • Variable de entorno : export MDB_MCP_TELEMETRY=disabled
  • Argumento de la línea de comandos : --telemetry disabled
  • Variable de entorno DO_NOT_TRACK : export DO_NOT_TRACK=1

Acceso a la API de Atlas

Para utilizar las herramientas de la API de Atlas, deberá crear una cuenta de servicio en MongoDB Atlas:

  1. Crear una cuenta de servicio:
    • Inicie sesión en MongoDB Atlas en cloud.mongodb.com
    • Vaya a Administrador de acceso > Acceso a la organización
    • Haga clic en Agregar nuevo > Aplicaciones > Cuentas de servicio
    • Ingrese el nombre, la descripción y la fecha de vencimiento de su cuenta de servicio (por ejemplo, "MCP, Acceso al servidor MCP, 7 días")
    • Seleccione los permisos apropiados (para acceso completo, utilice Propietario de la organización)
    • Haga clic en "Crear"

Para obtener más información sobre las cuentas de servicio, consulte la documentación de MongoDB Atlas .

  1. Guardar credenciales de cliente:
    • Después de la creación, se le mostrarán el ID del cliente y el secreto del cliente.
    • Importante: Copie y guarde el secreto del cliente inmediatamente, ya que no se mostrará nuevamente.
  2. Agregar entrada a la lista de acceso (opcional pero recomendado):
    • Añade tu dirección IP a la lista de acceso API
  3. Configurar el servidor MCP:
    • Utilice uno de los métodos de configuración a continuación para establecer su apiClientId y apiClientSecret

Métodos de configuración

Variables de entorno

Establezca las variables de entorno con el prefijo MDB_MCP_ seguido del nombre de la opción en mayúsculas y guiones bajos:

# Set Atlas API credentials export MDB_MCP_API_CLIENT_ID="your-atlas-client-id" export MDB_MCP_API_CLIENT_SECRET="your-atlas-client-secret" # Set a custom MongoDB connection string export MDB_MCP_CONNECTION_STRING="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" export MDB_MCP_LOG_PATH="/path/to/logs"
Ejemplos de archivos de configuración de MCP
Cadena de conexión con variables de entorno
{ "servers": { "MongoDB": { "command": "npx", "args": ["-y", "mongodb-mcp-server"], "env": { "MDB_MCP_CONNECTION_STRING": "mongodb+srv://username:password@cluster.mongodb.net/myDatabase" } } } }
Credenciales de la API de Atlas con variables de entorno
{ "servers": { "MongoDB": { "command": "npx", "args": ["-y", "mongodb-mcp-server"], "env": { "MDB_MCP_API_CLIENT_ID": "your-atlas-client-id", "MDB_MCP_API_CLIENT_SECRET": "your-atlas-client-secret" } } } }
Argumentos de la línea de comandos

Pase las opciones de configuración como argumentos de la línea de comandos al iniciar el servidor:

npx -y mongodb-mcp-server --apiClientId="your-atlas-client-id" --apiClientSecret="your-atlas-client-secret" --connectionString="mongodb+srv://username:password@cluster.mongodb.net/myDatabase" --logPath=/path/to/logs
Ejemplos de archivos de configuración de MCP
Cadena de conexión con argumentos de línea de comandos
{ "servers": { "MongoDB": { "command": "npx", "args": [ "-y", "mongodb-mcp-server", "--connectionString", "mongodb+srv://username:password@cluster.mongodb.net/myDatabase" ] } } }
Credenciales de la API de Atlas con argumentos de línea de comandos
{ "servers": { "MongoDB": { "command": "npx", "args": [ "-y", "mongodb-mcp-server", "--apiClientId", "your-atlas-client-id", "--apiClientSecret", "your-atlas-client-secret" ] } } }

🤝 Contribuyendo

¿Te interesa contribuir? ¡Genial! Consulta nuestra Guía de Contribución para obtener información sobre contribuciones de código, estándares, nuevas herramientas e información para la resolución de problemas.

-
security - not tested
A
license - permissive license
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Un servidor de protocolo de contexto de modelo que permite a los asistentes de IA interactuar con los recursos de MongoDB Atlas a través del lenguaje natural, respaldando las operaciones de base de datos y las funciones de gestión de Atlas.

  1. 📚 Table of Contents
    1. Prerequisites
      1. Setup
        1. Quick Start
      2. 🛠️ Supported Tools
        1. Tool List
      3. Configuration
        1. Configuration Options
        2. Atlas API Access
        3. Configuration Methods
      4. 🤝 Contributing

        Related MCP Servers

        • A
          security
          A
          license
          A
          quality
          A Model Context Protocol server that provides read-only access to MongoDB databases, enabling AI assistants to directly query and analyze MongoDB data while maintaining data safety.
          Last updated -
          14
          9
          2
          JavaScript
          MIT License
          • Apple
        • -
          security
          A
          license
          -
          quality
          An MCP server that enables users to create and manage MongoDB Atlas clusters, users, and network access through natural language commands.
          Last updated -
          254
          2
          JavaScript
          MIT License
          • Apple
          • Linux
        • -
          security
          A
          license
          -
          quality
          An MCP server that enables large language models to interact directly with MongoDB databases, allowing them to query collections, inspect schemas, and manage data through natural language.
          Last updated -
          340
          MIT License
          • Apple
        • -
          security
          -
          license
          -
          quality
          A Model Context Protocol server that enables AI models to interact with both MySQL and MongoDB databases through a standardized interface, supporting comprehensive database operations including queries, schema management, and CRUD operations.
          Last updated -
          6
          JavaScript
          MIT License

        View all related MCP servers

        ID: o13w6dioja