MCP Database Server
Um servidor MCP que permite que LLMs interajam com bancos de dados como MongoDB usando linguagem natural.
Documentação
MCP Database Server
Uma implementação de servidor Model Context Protocol (MCP) que permite que Modelos de Linguagem de Grande Porte (LLMs) interajam com diversos bancos de dados por meio de linguagem natural. Atualmente suporta MongoDB, com planos de suportar:
- PostgreSQL
- CockroachDB
- Redis
- E mais...
Recursos
- Operações de banco de dados por meio de linguagem natural
- Atualmente suporta MongoDB com recursos:
- Listar todas as coleções
- Consultar documentos com filtros e projeção
- Inserir documentos
- Excluir documentos
- Operações de pipeline de agregação
- Suporte futuro para outros bancos de dados:
- PostgreSQL: Consultas SQL, operações de tabelas
- CockroachDB: Operações SQL distribuídas
- Redis: Operações de chave-valor, cache
Pré-requisitos
- Node.js v20.12.2 ou superior
- Banco de dados (atualmente MongoDB, outros bancos em breve)
- Aplicativo Claude Desktop
Instalação
- Clone o repositório:
git clone https://github.com/manpreet2000/mcp-database-server.git
cd mcp-database-server
- Instale as dependências:
npm install
- Compile o código TypeScript:
npm run build
Configuração
Para começar, você precisa configurar sua conexão com o banco de dados no arquivo de configuração do Claude Desktop:
MacOS
~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows
%APPDATA%/Claude/claude_desktop_config.json
Adicione a seguinte configuração ao seu claude_desktop_config.json:
{
"mcpServers": {
"database": {
"command": "/path/to/node",
"args": ["/path/to/mcp-database/dist/index.js"],
"env": {
"MONGODB_URI": "your-mongodb-connection-string"
}
}
}
}
Substitua:
/path/to/nodepelo caminho do executável do Node.js ou apenas usenode/path/to/mcp-databasepelo caminho absoluto deste repositórioyour-mongodb-connection-stringpela URL de conexão do seu MongoDB
Exemplos de Uso
Exemplos com MongoDB
- Liste todas as coleções no seu banco de dados:
Can you show me all the collections in my database?
- Obtenha registros específicos de uma coleção:
Give me 2 records from the chargers collection
- Consulte com filtros:
Show me all documents in the users collection where status is active
- Insira um documento:
Add a new user to the users collection with name John and email john@example.com
- Exclua um documento:
Remove the user with email john@example.com from the users collection
- Agregue dados:
Show me the total count of users by status in the users collection
Ferramentas Disponíveis
1. getCollections
Lista todas as coleções no banco de dados conectado.
2. getCollection
Recupera documentos de uma coleção com parâmetros de consulta opcionais:
collectionName: Nome da coleçãolimit: Número máximo de documentos a retornar (padrão: 10, máximo: 1000)query: Objeto de consulta MongoDBprojection: Campos a incluir/excluir
3. insertOne
Insere um único documento em uma coleção:
collectionName: Nome da coleçãodocument: Objeto de documento a inserir
4. deleteOne
Exclui um único documento de uma coleção:
collectionName: Nome da coleçãoquery: Consulta para corresponder ao documento a excluir
5. aggregate
Executa um pipeline de agregação:
collectionName: Nome da coleçãopipeline: Matriz de estágios de agregaçãooptions: Opções opcionais de agregação
Suporte Futuro a Bancos de Dados
PostgreSQL
- Execução de consultas SQL
- Operações de tabelas
- Gerenciamento de esquemas
- Suporte a transações
CockroachDB
- Operações SQL distribuídas
- Suporte a múltiplas regiões
- Gerenciamento de transações
- Operações de esquemas
Redis
- Operações de chave-valor
- Mecanismos de cache
- Operações de publicação/assinatura
- Operações de estruturas de dados
Segurança
- Nunca envie suas strings de conexão com o banco de dados para o controle de versão
- Use variáveis de ambiente para informações sensíveis
- Siga as melhores práticas de segurança específicas do banco de dados
Contribuição
Contribuições são bem-vindas! Sinta-se à vontade para enviar um Pull Request. Para mudanças significativas, abra uma issue primeiro para discutir o que você gostaria de alterar.
Licença
Licença MIT - Consulte LICENSE para detalhes