MCP SQL Server
Read-only MCP server for SQL databases (SQLite/PostgreSQL) that enables listing tables, describing schemas, and executing SELECT queries with safety guardrails.
README
mcp-sql-server
Servidor MCP (Model Context Protocol) genérico de solo lectura sobre bases de datos SQL
(SQLite o PostgreSQL), construido con el SDK oficial de Python (mcp) y SQLAlchemy.
Es la evolución natural de sql_tools.py del proyecto Marvel Intelligence Assistant:
la misma lógica de guardrails (solo SELECT, whitelist de tablas, LIMIT forzado, timeout),
pero expuesta como servidor MCP estándar en vez de LangChain StructuredTools —
lo que significa que puede ser usado no solo por ese proyecto, sino por Claude Desktop,
Claude Code o cualquier otro cliente compatible con MCP, sin reescribir nada.
Tools expuestas
| Tool | Descripción |
|---|---|
list_tables |
Lista las tablas disponibles (respetando whitelist si está configurada) |
describe_table(table_name) |
Devuelve columnas y tipos de una tabla |
run_query(sql, limit) |
Ejecuta un SELECT de solo lectura y devuelve resultado en tabla |
Guardrails aplicados
- Solo se permiten sentencias
SELECT(bloquea INSERT/UPDATE/DELETE/DROP/ALTER/etc.) - No se permiten múltiples sentencias en una misma query
- Whitelist opcional de tablas accesibles vía
ALLOWED_TABLES LIMITforzado si el usuario no lo especifica (con tope máximo configurable)- Timeout de ejecución por query
Instalación
python -m venv venv
# Windows: venv\Scripts\activate
source venv/bin/activate
pip install -r requirements.txt
Configuración (variables de entorno)
| Variable | Descripción | Por defecto |
|---|---|---|
DB_URL |
Cadena de conexión SQLAlchemy | sqlite:///./marvel.db |
ALLOWED_TABLES |
Tablas permitidas, separadas por coma | todas |
QUERY_TIMEOUT_S |
Timeout por query (segundos) | 10 |
DEFAULT_LIMIT |
Límite de filas por defecto | 50 |
MAX_LIMIT |
Límite máximo de filas | 500 |
Ejemplos de DB_URL:
- SQLite:
sqlite:///C:/ruta/a/marvel.db - PostgreSQL:
postgresql+psycopg2://usuario:password@localhost:5432/mi_bd
Probar contra tu marvel.db real
export DB_URL="sqlite:///C:/ruta/a/tu/marvel.db" # Windows: usa la sintaxis de tu shell
python server.py
Conectarlo a Claude Desktop
Añade esto a tu claude_desktop_config.json
(Windows: %APPDATA%\Claude\claude_desktop_config.json):
{
"mcpServers": {
"sql-readonly": {
"command": "C:\\ruta\\a\\mcp-sql-server\\venv\\Scripts\\python.exe",
"args": ["C:\\ruta\\a\\mcp-sql-server\\server.py"],
"env": {
"DB_URL": "sqlite:///C:/ruta/a/marvel.db"
}
}
}
}
Reinicia Claude Desktop y podrás preguntarle directamente sobre tu base de datos ("¿qué tablas hay?", "dime las 5 películas con más ingresos") usando estas tools.
Relación con Marvel Intelligence Assistant
Este servidor reutiliza el mismo diseño de guardrails que sql_guardrails.py del proyecto
Marvel, pero desacoplado del router de LangChain. La idea de portfolio es poder decir:
"Mi SQL agent en Marvel Intelligence Assistant usa LangChain StructuredTools de forma nativa. Además, construí una versión de esas mismas herramientas como servidor MCP independiente, reutilizable desde cualquier cliente compatible (Claude Desktop, Claude Code, u otros agentes), no solo desde mi router."
Reutilización en otros proyectos (n8n + MCP + RAG)
Este mismo servidor (apuntando a otra BBDD en vez de Marvel) es la pieza de "datos estructurados en vivo" de otro proyecto combinado más adelante: n8n dispara el flujo, el agente usa este MCP para consultar datos en tiempo real, y un componente RAG aporta el contexto documental (informes técnicos, normativa) para el análisis final.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.