Skip to main content
Glama
kobramantra-debug

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

pip install "mcp-database-universal[postgres]"

MySQL

PyMySQL

pip install "mcp-database-universal[mysql]"

MSSQL

pyodbc + controlador ODBC

pip install "mcp-database-universal[mssql]"

todos

pip install "mcp-database-universal[all]"

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_universal

URLs 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-db

Configuración

Toda la configuración se realiza mediante variables de entorno.

Variable

Por defecto

Descripción

DATABASE_URL

(obligatorio)

URL de conexión a la base de datos.

DATABASE_READ_ONLY

true

Forzar modo de solo lectura (bloquea escrituras incluso si DATABASE_WRITE_ENABLED está activado).

DATABASE_WRITE_ENABLED

false

Permitir sentencias de escritura cuando DATABASE_READ_ONLY=false.

DATABASE_MAX_ROWS

1000

Máximo de filas devueltas por consulta.

DATABASE_MAX_QUERY_TIME

30

Tiempo de espera de la consulta en segundos.

DATABASE_MAX_OUTPUT_BYTES

50000

Límite del tamaño de la carga útil de resultados.

DATABASE_SAMPLE_SIZE

5

Número de filas de muestra mostradas en estadísticas de tabla/columna.

DATABASE_PROFILE_TOP_N

10

Entradas de distribución de valores Top-N en el perfilado.

OPENAI_API_KEY

Clave API para el modo natural_query respaldado por LLM.

ANTHROPIC_API_KEY

Clave API para el modo natural_query respaldado por LLM.

Herramientas

Herramienta

Descripción

test_connection

Probar la conectividad de la base de datos; informar motor, versión, nombre, tamaño, número de tablas.

list_tables

Resumen de todas las tablas con recuentos de filas, recuentos de columnas, relaciones de claves foráneas.

inspect_table

Estructura completa de una tabla: columnas, tipos, índices, claves foráneas, datos de muestra.

query

Ejecutar una consulta SQL segura y parametrizada y obtener resultados en Markdown.

natural_query

Hacer una pregunta en texto plano; obtener SQL generado + resultados.

profile_database

Perfil de datos: distribuciones, tasas de NULL, relaciones, tamaños.

schema_graph

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 100

Un 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]"
pytest

Las 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
pytest

Modelo de seguridad

  • El servidor es de solo lectura por defecto; INSERT/UPDATE/DELETE/DROP/ALTER y otras sentencias de escritura están bloqueadas.

  • Las escrituras solo son posibles cuando el operador establece explícitamente DATABASE_READ_ONLY=false y DATABASE_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

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

Maintenance

Maintainers
Response time
0dRelease cycle
3Releases (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

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    A
    maintenance
    Connect 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.
    13
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to interact with PostgreSQL or MySQL databases using natural language. Supports SQL queries, schema discovery, and pre-built aggregations without writing SQL.
    289
    MIT

View all related MCP servers

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.

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/kobramantra-debug/mcp-database-server'

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