Skip to main content
Glama
Jorge-240

Universal Database MCP

by Jorge-240

Universal Database MCP

MCP remoto para Google ADK y otros clientes MCP. Permite conectar dinámicamente MySQL, MariaDB y PostgreSQL mediante una URL y administrar bases de datos, tablas y registros.

1. Requisitos

  • Python 3.13 recomendado.

  • Una base de datos MySQL/MariaDB/PostgreSQL accesible desde el equipo donde corre el MCP.

  • Para Render: la base de datos debe aceptar conexiones desde Internet o desde la red autorizada.

Related MCP server: database-remote-mcp

2. Ejecutar localmente

Windows PowerShell:

py -3.13 -m venv .venv
.\.venv\Scripts\Activate.ps1
pip install -r requirements.txt
Copy-Item .env.example .env

Edita .env y cambia MCP_API_KEY por un secreto largo.

Ejecuta:

uvicorn server:app --host 0.0.0.0 --port 8000 --reload

Health:

http://127.0.0.1:8000/health

MCP:

http://127.0.0.1:8000/mcp

3. Probar con MCP Inspector

En otra terminal:

npx -y @modelcontextprotocol/inspector

Conecta a:

http://127.0.0.1:8000/mcp

En el cliente, agrega el header:

Authorization: Bearer TU_MCP_API_KEY

4. Primera conexión

Con la tool crear_conexion, envía por ejemplo:

mysql+pymysql://usuario:password@host:3306/Tareas_sena

El servidor devuelve un connection_id. Usa ese ID en todas las demás tools.

5. Importante sobre MySQL local

Un MCP desplegado en Render NO puede usar 127.0.0.1 o localhost para llegar al MySQL de tu PC. Desde Render, localhost significa el propio servidor de Render.

Para una BD local necesitas ejecutar un conector local que haga de puente seguro. Esta primera versión deja preparada la API remota; el Local Connector es una segunda pieza del proyecto.

6. Google ADK

Configura:

$env:MCP_URL="https://TU-SERVICIO.onrender.com/mcp"
$env:MCP_API_KEY="TU_TOKEN"

Y usa examples/adk_agent.py como base.

7. Render

Puedes conectar este repo a Render como Web Service.

Build:

pip install -r requirements.txt

Start:

uvicorn server:app --host 0.0.0.0 --port $PORT

Variables:

MCP_API_KEY=<tu-secreto>
MCP_REQUIRE_AUTH=true
PYTHON_VERSION=3.13.5

El endpoint será:

https://TU-SERVICIO.onrender.com/mcp

8. Seguridad

Esta versión usa un bearer token estático para proteger el endpoint remoto. Las URL de bases de datos se mantienen únicamente en memoria del proceso y se muestran redactadas en respuestas.

Las credenciales de la BD determinan realmente qué acciones son posibles. ejecutar_sql_admin puede ejecutar SQL arbitrario con los permisos de esa cuenta y por eso exige confirmar=true.

Para producción con múltiples usuarios/agentes se recomienda sustituir el token global por OAuth 2.1/JWT y aislar las conexiones por identidad del usuario.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Enables connecting to and querying multiple database types (PostgreSQL, MySQL, SQLite) through a unified interface. Supports managing multiple concurrent database connections with connection pooling and SQL query execution through MCP tools.
    5
    6 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables remote database access (RDBMS and MongoDB) through MCP tools, supporting read/write queries, schema management, and more.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables database interaction (MySQL, PostgreSQL, SQL Server) via MCP, supporting SQL queries and command execution.
    12 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Dynamic MCP service for MySQL and PostgreSQL, allowing runtime database connections and SQL queries via tools.
    -