mcp-safe-db

Inspector de bases de datos SQL estrictamente de solo lectura y sin riesgos para agentes de IA (Claude, Cursor, Antigravity)

Documentación

🛡️ mcp-safe-db

License: MIT Node.js 22+ Model Context Protocol

Inspector de bases de datos SQL de solo lectura, con riesgo cero, para agentes de IA (Claude Desktop, Antigravity, Cursor, Cline).

Permite que tu IA explore esquemas, inspeccione tablas y ejecute consultas SELECT sin arriesgar DROP, UPDATE o DELETE accidentales.


⚡ El Problema

Dar acceso a una base de datos a un asistente de IA es arriesgado:

  • Una consulta UPDATE alucinada sin una cláusula WHERE puede borrar datos de producción o de desarrollo local.
  • La inyección por punto y coma (SELECT 1; DROP TABLE users;) puede ejecutar acciones destructivas ocultas.
  • Las consultas sin límite (SELECT *) saturan las ventanas de contexto y consumen tokens de API.

mcp-safe-db resuelve esto con una Defensa de Triple Capa inquebrantable:

  1. Capa 1 (Guardia de Análisis Sintáctico): La validación estricta con expresiones regulares bloquea palabras clave de mutación (INSERT, UPDATE, DROP, ALTER, PRAGMA, ATTACH, LOAD_EXTENSION), múltiples sentencias y evasiones por comentarios. Los límites altos se reducen automáticamente a 50 filas.
  2. Capa 2 (Bloqueo de Conexión): La conexión SQLite se bloquea con PRAGMA query_only = ON;.
  3. Capa 3 (Bloqueo de SO / Motor C): La base de datos se abre de forma nativa con { readOnly: true }. Incluso si el SQL sin procesar eludiera las comprobaciones anteriores, el identificador de archivo subyacente prohíbe físicamente las escrituras en disco (attempt to write a readonly database).

🚀 Inicio Rápido

Ejecución directa mediante npx

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

🛠️ Configuración

1. Claude Desktop

Añade a tu claude_desktop_config.json:

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

2. Antigravity IDE / Cursor / Cline

Añade a tu mcp_config.json:

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

🧰 Herramientas Disponibles para IA

HerramientaDescripciónProtección de Seguridad
list_tablesLista todas las tablas y vistas de usuarioFiltra las tablas internas de SQLite
describe_tableInspecciona columnas, tipos de datos y claves primariasValidación saneada del nombre de la tabla
sample_tableDevuelve las primeras 3 filas de cualquier tablaLímite máximo fijo de 10 filas
safe_queryEjecuta consultas SELECT arbitrariasRechaza mutaciones, limita automáticamente LIMIT

🧪 Pruebas

npm test

Ejecuta las pruebas automatizadas de seguridad y protección.


📄 Licencia

MIT © 2026


Vibe Coded con 💖 por MrSkele y Antigravity