mcp-safe-db

Inspetor de banco de dados SQL estritamente somente leitura e de risco zero para agentes de IA (Claude, Cursor, Antigravity)

Documentação

🛡️ mcp-safe-db

License: MIT Node.js 22+ Model Context Protocol

Inspetor de banco de dados SQL somente leitura, com risco zero, para agentes de IA (Claude Desktop, Antigravity, Cursor, Cline).

Deixe sua IA explorar esquemas, inspecionar tabelas e executar consultas SELECT sem arriscar DROP, UPDATE ou DELETE acidentais.


⚡ O Problema

Dar acesso ao banco de dados a um assistente de IA é arriscado:

  • Uma consulta UPDATE alucinada sem cláusula WHERE pode apagar dados de produção ou de desenvolvimento local.
  • Injeção por ponto e vírgula (SELECT 1; DROP TABLE users;) pode executar ações destrutivas ocultas.
  • Consultas sem limites (SELECT *) estouram janelas de contexto e queimam tokens de API.

mcp-safe-db resolve isso com uma Defesa em Três Camadas inquebrável:

  1. Camada 1 (Guarda de Parser): Validação estrita por regex bloqueia palavras-chave de mutação (INSERT, UPDATE, DROP, ALTER, PRAGMA, ATTACH, LOAD_EXTENSION), múltiplas instruções e bypass por comentários. Limites altos são automaticamente reduzidos para 50 linhas.
  2. Camada 2 (Bloqueio de Conexão): A conexão SQLite é bloqueada com PRAGMA query_only = ON;.
  3. Camada 3 (Bloqueio de SO / Motor C): O banco de dados é aberto nativamente com { readOnly: true }. Mesmo que o SQL bruto contorne as verificações anteriores, o manipulador de arquivo subjacente proíbe fisicamente gravações em disco (attempt to write a readonly database).

🚀 Início Rápido

Execução direta via npx

npx mcp-safe-db ./path/to/database.sqlite

🛠️ Configuração

1. Claude Desktop

Adicione ao seu claude_desktop_config.json:

{
  "mcpServers": {
    "safe-db": {
      "command": "npx",
      "args": ["-y", "mcp-safe-db", "/absolute/path/to/your/database.sqlite"]
    }
  }
}

2. IDE Antigravity / Cursor / Cline

Adicione ao seu mcp_config.json:

{
  "mcpServers": {
    "safe-db": {
      "command": "npx",
      "args": ["-y", "mcp-safe-db", "/absolute/path/to/your/database.sqlite"]
    }
  }
}

🧰 Ferramentas Disponíveis para IA

FerramentaDescriçãoProteção de Segurança
list_tablesLista todas as tabelas e visões de usuárioFiltra tabelas internas do SQLite
describe_tableInspeciona colunas, tipos de dados e chaves primáriasValidação sanitizada de nomes de tabelas
sample_tableRetorna as primeiras 3 linhas de qualquer tabelaLimitado a no máximo 10 linhas
safe_queryExecuta consultas SELECT arbitráriasRejeita mutações, limita automaticamente LIMIT

🧪 Testes

npm test

Executa os testes automatizados de segurança e proteção.


📄 Licença

MIT © 2026


Codificado com Vibração 💖 por MrSkele & Antigravity