MongoDB Mongoose MCP

Um servidor MCP para MongoDB com suporte opcional de esquema Mongoose.

Documentação

MseeP.ai Security Assessment Badge

MongoDB Mongoose MCP

Um servidor MCP (Model Context Protocol) que permite ao Claude interagir com bancos de dados MongoDB, com suporte opcional a schemas do Mongoose.

npm version License: MIT

Recursos

  • Consulta, agregação, inserção, atualização e gerenciamento de coleções MongoDB diretamente pelo Claude
  • Suporte opcional a schemas do Mongoose para validação de dados e hooks
  • Implementação de soft delete para segurança dos documentos
  • Separação clara entre operações baseadas em schema e sem schema

Pré-requisitos

  • Node.js (v18 ou superior)
  • MongoDB

Integração com o Claude Desktop

Para adicionar o servidor MCP ao Claude Desktop:

  1. Vá em Configurações > Desenvolvedor > Editar configuração
  2. Adicione o seguinte ao seu arquivo 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 Disponíveis

Quando integrado ao Claude, os seguintes comandos ficam disponíveis:

Ferramentas de Consulta

  • find: Consultar documentos com filtragem e projeção
  • listCollections: Listar coleções disponíveis
  • insertOne: Inserir um único documento
  • updateOne: Atualizar um único documento
  • deleteOne: Soft delete de um único documento
  • count: Contar documentos com filtragem
  • aggregate: Consultar documentos com pipeline de agregação

Ferramentas de Índice

  • createIndex: Criar um novo índice
  • dropIndex: Remover um índice
  • indexes: Listar índices de uma coleção

Exemplo de Uso

Uma vez integrado ao Claude Desktop, você pode usar linguagem natural para interagir com seu banco de dados MongoDB:

  • "Mostre-me todos os usuários no meu banco de dados com mais de 30 anos"
  • "Insira um novo produto com nome 'Widget X', preço $29,99 e categoria 'Eletrônicos'"
  • "Conte todos os pedidos concluídos da última semana"
  • "Crie um índice no campo email da coleção de usuários"

Para Desenvolvedores

Compilando a partir do Código-Fonte

# 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

Criando Schemas do Mongoose

Coloque seus arquivos de objetos de schema do Mongoose em um diretório e especifique esse caminho na variável SCHEMA_PATH Certifique-se de que os nomes dos arquivos reflitam o nome da coleção

// 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
};

Como Funciona

Este projeto utiliza:

  • Driver nativo do MongoDB para operações diretas no banco de dados
  • Mongoose para operações baseadas em schema quando os schemas estão disponíveis
  • O Model Context Protocol (MCP) para comunicação com o Claude

Licença

MIT