mcp-safe-db
Inspector de bases de datos SQL estrictamente de solo lectura y sin riesgos para agentes de IA (Claude, Cursor, Antigravity)
GitHub
1
Prueba este MCPPatrocinadoDocumentación
🛡️ mcp-safe-db
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
UPDATEalucinada sin una cláusulaWHEREpuede 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:
- 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. - Capa 2 (Bloqueo de Conexión): La conexión SQLite se bloquea con
PRAGMA query_only = ON;. - 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
| Herramienta | Descripción | Protección de Seguridad |
|---|---|---|
list_tables | Lista todas las tablas y vistas de usuario | Filtra las tablas internas de SQLite |
describe_table | Inspecciona columnas, tipos de datos y claves primarias | Validación saneada del nombre de la tabla |
sample_table | Devuelve las primeras 3 filas de cualquier tabla | Límite máximo fijo de 10 filas |
safe_query | Ejecuta consultas SELECT arbitrarias | Rechaza 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