MongoDB Mongoose MCP

Un servidor MCP para MongoDB con soporte opcional de esquemas Mongoose.

Documentación

MseeP.ai Security Assessment Badge

MongoDB Mongoose MCP

Un servidor MCP (Model Context Protocol) que permite a Claude interactuar con bases de datos MongoDB, con soporte opcional de esquemas Mongoose.

npm version License: MIT

Características

  • Consulta, agregación, inserción, actualización y gestión de colecciones MongoDB directamente desde Claude
  • Soporte opcional de esquemas Mongoose para validación de datos y hooks
  • Implementación de borrado suave para seguridad de documentos
  • Separación clara entre operaciones basadas en esquemas y sin esquemas

Requisitos previos

  • Node.js (v18 o superior)
  • MongoDB

Integración con Claude Desktop

Para agregar el servidor MCP a Claude Desktop:

  1. Ve a Configuración > Desarrollador > Editar configuración
  2. Agrega lo siguiente a tu archivo claude_desktop_config.json:
{
  "mcpServers": {
    "mongodb-mongoose": {
      "command": "npx",
      "args": [
        "-y", 
        "mongo-mongoose-mcp",
      ],
      "env": {
        "MONGODB_URI": "<your mongodb uri>",
        "SCHEMA_PATH" : "<path to the root folder of all your mongoose schema objects>"
      }
    }
  }
}

Comandos MCP Disponibles

Cuando se integra con Claude, los siguientes comandos están disponibles:

Herramientas de Consulta

  • find: Consulta documentos con filtrado y proyección
  • listCollections: Lista las colecciones disponibles
  • insertOne: Inserta un solo documento
  • updateOne: Actualiza un solo documento
  • deleteOne: Borrado suave de un solo documento
  • count: Cuenta documentos con filtrado
  • aggregate: Consulta documentos con pipeline de agregación

Herramientas de Índices

  • createIndex: Crea un nuevo índice
  • dropIndex: Elimina un índice
  • indexes: Lista índices de una colección

Ejemplo de Uso

Una vez integrado con Claude Desktop, puedes usar lenguaje natural para interactuar con tu base de datos MongoDB:

  • "Muéstrame todos los usuarios en mi base de datos que tengan más de 30 años"
  • "Inserta un nuevo producto con nombre 'Widget X', precio $29.99 y categoría 'Electronics'"
  • "Cuenta todos los pedidos completados de la semana pasada"
  • "Crea un índice en el campo email de la colección users"

Para Desarrolladores

Compilación desde el Código Fuente

# Clone the repository
git clone https://github.com/nabid-pf/mongo-mongoose-mcp.git
cd mongo-mongoose-mcp

# Install dependencies
npm install

# Build the project
npm run build

# Test with the MCP inspector
npx @modelcontextprotocol/inspector node dist/index.js

Creación de Esquemas Mongoose

Coloca tus archivos de objetos de esquema Mongoose en un directorio y especifica esa ruta en la variable SCHEMA_PATH Asegúrate de que los nombres de archivo reflejen el nombre de la colección

// models/users.js (for users collection)
export default {
  name: { type: String, required: true },
  email: { type: String, required: true, unique: true },
  age: Number,
  createdAt: { type: Date, default: Date.now },
  isDeleted: { type: Boolean, default: false },
  deletedAt: Date
};

Cómo Funciona

Este proyecto utiliza:

  • Controlador nativo de MongoDB para operaciones directas de base de datos
  • Mongoose para operaciones basadas en esquemas cuando están disponibles
  • El Protocolo de Contexto de Modelo (MCP) para comunicarse con Claude

Licencia

MIT