Skip to content

vitorgouveia/database-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Database MCP Platform

Plataforma segura e self-hostable de MCP (Model Context Protocol) para bancos de dados, com controle de acesso granular, censura de dados sensíveis e auditoria completa.

Arquitetura

  • Backend: Node.js + TypeScript + DDD + Drizzle ORM + SQLite
  • Frontend: React + Vite + TypeScript

Features

  • Conexão segura com PostgreSQL, MongoDB e Redis
  • Sistema de permissões granular (tabelas, colunas, operações)
  • Censura de dados sensíveis a nível de aplicação
  • Logs de auditoria completos
  • Dashboard administrativo
  • MCP Server Protocol nativo

Setup

Pré-requisitos

  • Node.js 18+
  • npm ou yarn

Backend

  1. Instale as dependências:
cd backend
npm install
  1. Configure variáveis de ambiente (opcional):
cp .env.example .env
# Edite o .env com suas configurações
  1. Gere e execute as migrations:
npm run db:generate
npm run db:push
  1. Inicie o servidor:
npm run dev

O backend estará rodando em http://localhost:4000

Frontend

  1. Instale as dependências:
cd frontend
npm install
  1. Inicie o servidor de desenvolvimento:
npm run dev

O frontend estará rodando em http://localhost:3000

Uso

Dashboard

  1. Acesse http://localhost:3000
  2. Crie uma conta ou faça login
  3. Crie integrações com seus bancos de dados
  4. Configure permissões para usuários
  5. Visualize logs de auditoria e métricas

MCP Server

O servidor MCP pode ser usado por clientes compatíveis com o protocolo MCP. Todas as operações requerem autenticação via token JWT.

📖 Documentação completa: Veja MCP.md para instruções detalhadas sobre como configurar e usar o MCP Server.

Quick Start:

  1. Obter Token JWT: Faça login no dashboard ou via API
  2. Obter Integration ID: Lista integrações no dashboard ou via API
  3. Configurar MCP Client: Veja exemplos de configuração em MCP.md

Tools disponíveis:

  • db_select: Executa queries SELECT com validação e censura
  • db_insert: Insere dados com validação de permissões
  • db_update: Atualiza dados com validação de permissões
  • db_delete: Deleta dados com validação de permissões
  • db_describe: Descreve estrutura de tabelas

Segurança

  • Todas as queries passam pela camada de aplicação
  • Validação de permissões antes de cada operação
  • Prevenção de SQL injection através de prepared statements
  • Censura de colunas sensíveis a nível de aplicação
  • Logs de auditoria de todas as operações
  • Autenticação JWT obrigatória

Documentação MCP

Para informações detalhadas sobre como usar o MCP Server, consulte: MCP.md

Estrutura do Projeto

database-mcp/
├── backend/           # Backend Node.js com DDD
│   ├── src/
│   │   ├── domain/    # Entidades e regras de negócio
│   │   ├── application/ # Casos de uso
│   │   ├── infrastructure/ # Implementações técnicas
│   │   └── api/       # API REST e MCP Server
│   └── drizzle/       # Migrations do banco
└── frontend/          # Frontend React
    └── src/
        ├── components/
        ├── pages/
        ├── services/
        └── store/

About

Secure MCP for all kinds of database (PostgreSQL, Redis, Mongodb)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages