mcp-database-universal
Servidor de Base de Datos MCP
Una interfaz de razonamiento para bases de datos para agentes de IA compatibles con MCP — no un envoltorio SQL simple.
mcp-database-universal proporciona a los agentes de IA un conjunto de 7 herramientas de razonamiento para explorar y consultar una base de datos de forma segura, comprender su esquema y la forma de los datos, ejecutar preguntas en lenguaje natural y visualizar relaciones — todo sin exponer los detalles internos de la conexión.
Características
7 herramientas de razonamiento diseñadas para agentes de IA: probar conexión, listar tablas, inspeccionar una tabla, ejecutar SQL parametrizado, hacer preguntas en lenguaje natural, perfilar datos y renderizar un diagrama ER.
Multi-motor: SQLite (integrado) más PostgreSQL, MySQL y MSSQL opcionales.
Seguridad ante todo: solo lectura por defecto, consultas parametrizadas, validación de sentencias, límites de filas/tiempo/salida.
Salida amigable para LLM: tipos traducidos,
NULLs manejados, resultados formateados en tablas Markdown con contexto.Introspección de esquema: descubrimiento automático de tablas, columnas, índices, claves foráneas y relaciones.
Consultas en lenguaje natural: traduce preguntas en texto plano a SQL y devuelve resultados.
Related MCP server: Universal Database MCP Server
Motores compatibles
Motor | Requisito | Extra de instalación |
SQLite | integrado | — |
PostgreSQL | psycopg |
|
MySQL | PyMySQL |
|
MSSQL | pyodbc + controlador ODBC |
|
todos | — |
|
Instalación
pip install mcp-database-universal
# With optional engines:
pip install "mcp-database-universal[postgres]"
pip install "mcp-database-universal[mysql]"
pip install "mcp-database-universal[mssql]"
# or everything:
pip install "mcp-database-universal[all]"Inicio rápido
Ejecuta el servidor sobre STDIO (el transporte por defecto para clientes MCP):
DATABASE_URL=sqlite:///app.db python -m mcp_database_universalURLs de conexión:
sqlite:///path/to/db.db SQLite (file)
sqlite:///:memory: SQLite (in-memory)
postgresql://user:pass@host:5432/db PostgreSQL
mysql://user:pass@host:3306/db MySQL
mssql://user:pass@host:1433/db MSSQL (uses ODBC Driver 18)Docker
docker build -t mcp-db .
# Mount a SQLite database read-only:
docker run --rm -i \
-v /host/path/app.db:/data/app.db:ro \
-e DATABASE_URL=sqlite:////data/app.db \
mcp-db
# Or in-memory:
docker run --rm -i -e DATABASE_URL=sqlite:///:memory: mcp-dbConfiguración
Toda la configuración se realiza mediante variables de entorno.
Variable | Por defecto | Descripción |
| (obligatorio) | URL de conexión a la base de datos. |
|
| Forzar modo de solo lectura (bloquea escrituras incluso si |
|
| Permitir sentencias de escritura cuando |
|
| Máximo de filas devueltas por consulta. |
|
| Tiempo de espera de la consulta en segundos. |
|
| Límite del tamaño de la carga útil de resultados. |
|
| Número de filas de muestra mostradas en estadísticas de tabla/columna. |
|
| Entradas de distribución de valores Top-N en el perfilado. |
| — | Clave API para el modo |
| — | Clave API para el modo |
Herramientas
Herramienta | Descripción |
| Probar la conectividad de la base de datos; informar motor, versión, nombre, tamaño, número de tablas. |
| Resumen de todas las tablas con recuentos de filas, recuentos de columnas, relaciones de claves foráneas. |
| Estructura completa de una tabla: columnas, tipos, índices, claves foráneas, datos de muestra. |
| Ejecutar una consulta SQL segura y parametrizada y obtener resultados en Markdown. |
| Hacer una pregunta en texto plano; obtener SQL generado + resultados. |
| Perfil de datos: distribuciones, tasas de NULL, relaciones, tamaños. |
| Diagrama ER Mermaid de las relaciones entre tablas. |
Ejemplo: query con parámetros
{
"sql": "SELECT * FROM users WHERE id = :id AND active = :active",
"params": "{\"id\": 42, \"active\": true}"
}Los parámetros usan marcadores de posición :name; pasa los valores como una cadena JSON en params.
Ejemplo: natural_query
question: "How many users are there?"
-> SELECT COUNT(*) FROM users
question: "Show me all orders"
-> SELECT * FROM orders LIMIT 100Un ejemplo funcional contra una pequeña base de datos de muestra está en examples/ junto con fragmentos de configuración listos para usar para clientes MCP comunes.
Configuración de clientes MCP
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"database": {
"command": "python",
"args": ["-m", "mcp_database_universal"],
"env": {"DATABASE_URL": "sqlite:///C:/data/app.db"}
}
}
}Cursor / otros clientes basados en CLI
{
"mcpServers": {
"database": {
"command": "uvx",
"args": ["mcp-database-universal"],
"env": {"DATABASE_URL": "sqlite:///C:/data/app.db"}
}
}
}Nota para Windows: el controlador Postgres asíncrono requiere el bucle de eventos selector de Windows. El paquete establece esta política automáticamente en
win32, por lo que no se necesita configuración adicional.
Desarrollo
pip install -e ".[dev]"
pytestLas pruebas de integración para PostgreSQL/MySQL usan Docker Compose y se omiten automáticamente si los servidores no son accesibles:
docker compose -f tests/integration/docker-compose.yml up -d
pytestModelo de seguridad
El servidor es de solo lectura por defecto;
INSERT/UPDATE/DELETE/DROP/ALTERy otras sentencias de escritura están bloqueadas.Las escrituras solo son posibles cuando el operador establece explícitamente
DATABASE_READ_ONLY=falseyDATABASE_WRITE_ENABLED=true.Los resultados de las consultas están limitados por recuento de filas, tiempo de espera y tamaño de salida — se previenen consultas descontroladas.
Licencia
MIT
This server cannot be installed
Maintenance
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
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to query and explore databases including SQLite, PostgreSQL, MySQL, and SQL Server through a secure, read-only workflow. It provides tools for listing connections, inspecting table schemas, and executing SELECT statements directly within VS Code.1
- AlicenseNot gradedqualityAmaintenanceConnect AI agents to SQL databases (SQLite, PostgreSQL, MySQL) with a unified interface for querying data, exploring schemas, inserting rows, and exporting results to CSV. Includes safety features like dangerous query blocking and write guards.13MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to connect to and interact with PostgreSQL, MySQL, SQLite, and MongoDB databases through natural language, supporting schema exploration, query execution, data export, and more.MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with PostgreSQL or MySQL databases using natural language. Supports SQL queries, schema discovery, and pre-built aggregations without writing SQL.289MIT
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Explore, query, and inspect SQLite databases with ease. List tables, preview results, and view det…
Give your agent live data from Twitter, Reddit, the web and GitHub. No API keys, no scraping stack.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kobramantra-debug/mcp-database-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server