Skip to main content
Glama
egoring

sql-guard-mcp

by egoring

sql-guard-mcp

CI

SQL de solo lectura para agentes de IA, con salvaguardas de seguridad en capas.

Dar a un agente LLM acceso sin restricciones a la base de datos es un tiro en el pie. Este servidor MCP abre una base de datos SQLite a los agentes a través de cuatro capas de protección independientes, de modo que lo peor que un agente puede hacer es leer demasiado despacio — e incluso eso se corta.

Documentación en coreano: README.ko.md

Capas de protección

Capa

Qué impide

Cómo

Validación de consultas

Escrituras, cambios de esquema, inyección mediante sentencias apiladas

Solo sentencias SELECT/WITH individuales; escaneo de palabras clave prohibidas (INSERT, DROP, PRAGMA, ATTACH, ...); rechazo de sentencias múltiples

Lista blanca de tablas

Lectura de tablas sensibles (PII, credenciales)

Identificadores de FROM/JOIN verificados contra SQLGUARD_ALLOWED_TABLES; también filtra list_tables/describe_table

Límite de filas

Inundación de la ventana de contexto

Cada consulta se envuelve como una subconsulta con un LIMIT del lado del servidor — un LIMIT 999999 proporcionado por el usuario no puede anularlo; la truncación se señala

Límite de ejecución

Consultas descontroladas (joins cartesianos)

Un watchdog del controlador de progreso de SQLite aborta después de N pasos de la VM con un mensaje accionable

Solo lectura a nivel de SO

Si todo lo anterior falla

Conexión abierta con mode=ro — la última línea de defensa, aplicada por el propio SQLite

El principio de diseño surge de construir salvaguardas de decisión para un agente LLM de producción: no confíes en que el modelo sea cuidadoso — haz que el descuido sea imposible, y haz que cada mensaje de rechazo le diga al agente qué hacer en su lugar.

Related MCP server: sqlite-analyst

Herramientas

  • sql_list_tables — tablas visibles (lista blanca aplicada)

  • sql_describe_table — columnas, tipos, número de filas

  • sql_query — consulta de solo lectura protegida

  • sql_guard_status — configuración de protección actual (transparencia para depuración)

Demo

Conectado a Claude Desktop, consultando la base de datos de demostración de campañas publicitarias incluida — y rechazando una solicitud de borrado:

Demo de sql-guard-mcp: respuesta del ranking de CTR, solicitud DELETE rechazada

El agente explora y agrega libremente («¿Qué campaña activa tiene el mejor CTR?»), pero cuando se le pide que elimine la tabla campaigns, la protección rechaza la petición y el agente explica por qué — solo lectura por diseño, aplicada en el código, no mediante el prompt.

Configuración

Cero dependencias aparte del MCP SDK — se incluye una base de datos de demostración sintética de campañas publicitarias que se crea automáticamente en la primera ejecución.

pip install -e .

# optional configuration
export SQLGUARD_DB="/path/to/your.db"                      # default: bundled demo
export SQLGUARD_ALLOWED_TABLES="campaigns,daily_stats"     # default: all tables
export SQLGUARD_MAX_ROWS="200"

Claude Desktop

{
  "mcpServers": {
    "sql-guard-mcp": {
      "command": "sql-guard-mcp",
      "env": { "SQLGUARD_ALLOWED_TABLES": "campaigns,daily_stats" }
    }
  }
}

Luego pregunta: «¿Qué campaña activa tuvo el mejor CTR la semana pasada?» — el agente explora el esquema y realiza consultas dentro de los límites de seguridad. Intenta pedirle que borre algo; lee el rechazo.

Pruebas

pip install -e ".[dev]"
pytest   # guard validation + execution enforcement, no external DB needed

Las pruebas incluyen los casos adversarios: sentencias apiladas, escrituras con prefijo SELECT, evasión de la lista blanca mediante JOIN, intentos de anular un LIMIT proporcionado por el usuario y un join cartesiano desbocado abortado por el watchdog de pasos de la VM.

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI assistants to explore and query SQLite databases through read-only tools, with defense-in-depth sandboxing preventing any data modifications.
    MIT
  • F
    license
    A
    quality
    C
    maintenance
    Enables AI agents to safely explore and query a SQLite database in read-only mode, allowing them to inspect schema and run analytical SQL queries without risking data modification.
    3

View all related MCP servers

Related MCP Connectors

  • Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…

  • Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.

  • Read-only bank access for your AI agent. Connects Claude, ChatGPT, Cursor, Gemini, Codex.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/egoring/sql-guard-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server