Servidores MCP para bases de datos: PostgreSQL, MongoDB y Redis

Conectar un asistente IA directamente a tu base de datos suena peligroso — y lo es, si lo haces mal. Bien configurado, un servidor MCP de base de datos elimina horas semanales de “pásame ese query” y “exporta esto a CSV”. Esta guía cubre los tres tipos más usados: PostgreSQL, MongoDB y Redis.

Por qué un servidor MCP en vez de DBeaver o un script

Tres ventajas. Primero, lenguaje natural: preguntas “clientes que cancelaron en los últimos 7 días con más de tres meses de antigüedad” y el asistente escribe el SQL/aggregation correcto. Segundo, contexto multi-tabla: el modelo lee tu schema y entiende relaciones. Tercero, integración con el resto del flujo: combina datos de la DB con un README de Notion o un canal de Slack en una sola conversación.

PostgreSQL: el caso más maduro

El servidor oficial @modelcontextprotocol/server-postgres conecta vía connection string estándar. Configuración mínima:

{
  "mcpServers": {
    "postgres-prod": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-postgres",
               "postgresql://readonly_user:pass@host:5432/dbname"]
    }
  }
}

Crítico: conecta SIEMPRE con un usuario readonly. El servidor expone una tool query que ejecuta SQL arbitrario; un usuario con write permission es una invitación a desastre. Crea el rol así:

CREATE ROLE mcp_reader WITH LOGIN PASSWORD '...';
GRANT CONNECT ON DATABASE tu_db TO mcp_reader;
GRANT USAGE ON SCHEMA public TO mcp_reader;
GRANT SELECT ON ALL TABLES IN SCHEMA public TO mcp_reader;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO mcp_reader;

Para producción, considera además: SSL obligatorio (?sslmode=require en la URL), pool de conexiones limitado (servidor MCP no comparte pool con tu app), y un schema dedicado de “vistas seguras” si hay tablas con datos sensibles.

MongoDB: documentos sin esquema fijo

Para MongoDB las opciones de servidores MCP en NPM son varias; mongo-mcp es el más mantenido. Connection string Atlas funciona out of the box. La diferencia de uso vs PostgreSQL: el modelo necesita varios round-trips para “descubrir” la forma de los documentos, porque Mongo no tiene un schema explícito. Mitigación: pídele primero que liste collections y haga sample de cada una.

Caso típico que rompe: campos con nombres que difieren entre documentos del mismo collection. El modelo asume consistencia y genera aggregations que fallan en silencio. Si tus documentos son heterogéneos, agrega una vista o usa para normalizar antes.

Redis: cache, pub/sub y estructuras especiales

Para Redis hay dos servidores principales: redis-mcp (oficial, comandos directos) y wrappers de uso superior. Redis es útil en MCP cuando quieres inspeccionar el estado de cache, monitorear streams o purgar keys con un patrón sin abrir redis-cli.

Limitación: el servidor expone comandos arbitrarios. Si lo conectas a una instancia de producción, restringe via ACL los comandos peligrosos (FLUSHALL, FLUSHDB, DEBUG) y considera una réplica read-only.

Patrón recomendado: ambiente staging primero

Antes de apuntar el servidor MCP a producción, prueba contra una réplica o snapshot. Las queries que el modelo escribe pueden ser pesadas (SELECT * sobre tablas de miles de millones de filas) y un statement-timeout bajo te salva de degradación.

Combina con otros servidores

El valor real aparece al combinar: pídele a Claude que tome los IDs de un canal de Slack, busque esos clientes en PostgreSQL y resuma sus métricas. Eso requiere tener instalados slack-mcp + postgres-mcp simultáneamente. Más en nuestro artículo de casos de uso reales.