Install
npx -y @modelcontextprotocol/server-postgres postgresql://localhost/mydbPara quién
Para hacer que un modelo vea la estructura de tablas de una base PostgreSQL y ejecute SQL de solo lectura. La evidencia indica: este MCP ofrece acceso de solo lectura a PostgreSQL, para inspeccionar el schema y ejecutar consultas de solo lectura.
Debes poder aportar una URL postgresql:// conectable y aceptar que el modelo lea estructuras de tablas y resultados. Una transacción de solo lectura no es «riesgo cero»: sigue conectándose, sigue leyendo datos, y la URL puede llevar usuario y contraseña.
La evidencia no lista clientes. La página oficial está en el árbol servers-archived; la evidencia no escribe aparte el estado de mantenimiento. No asumas que sigue siendo la implementación principal recomendada.
Primera prueba en 3 minutos
Sigue la ruta principal NPX; no tomes Docker como instalación principal. En la configuración MCP del cliente usa:
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-postgres",
"postgresql://localhost/mydb"
]
Sustituye la última URL por una base a la que tengas acceso de solo lectura. Usuario y contraseña pueden escribirse como en la evidencia: postgresql://user:password@host:port/db-name. No pegues una cuenta de escritura de producción ni una contraseña completa en la conversación.
Requisitos: la máquina tiene npx; la base permite conexiones desde ese proceso; la primera vez, solo inspecciona el schema o ejecuta una consulta que no cambie datos.
Dónde configurar: command / args del servidor MCP del cliente. El tercer argumento es la cadena de conexión.
Primera llamada de bajo riesgo: primero lee el recurso postgres://<host>/<table>/schema para ver nombres y tipos de columnas de una tabla; o llama a la herramienta query con una cadena sql — la evidencia garantiza que se ejecuta en una transacción READ ONLY. No pruebes INSERT/UPDATE/DELETE para «verificar el solo lectura».
Señal de éxito: tras conectar, el cliente puede listar recursos de schema de tabla, o query devuelve un resultado de solo lectura. Si falla la conexión, cambia primero la URL (base local, puerto, nombre de base); no pases a Docker a adivinar. Sobre Docker la evidencia solo añade: en macOS, si el servicio está en el host, usa host.docker.internal.
Casos de uso
Caso 1: aclarar qué columnas tiene una tabla. Lee postgres://<host>/<table>/schema. La evidencia indica que es un JSON schema descubierto automáticamente desde metadatos, con nombres de columna y tipos. No hay API de enumeración de nombres de tabla; sustituye <host> y <table> según tu conexión real. No inventes tablas que no veas.
Caso 2: ejecutar una consulta de solo lectura sobre una tabla cuya existencia ya confirmaste. Llama a query; el único parámetro es sql. La evidencia garantiza la ejecución en una transacción READ ONLY; no documenta paginación, tiempos de espera ni el alcance del dialecto SQL ejecutable. Lo confirmable es: este SQL se envía como consulta de solo lectura a la base ya conectada. No asumas poder escribir tablas temporales o llamar funciones que cambien el estado.
Límites de uso
Es acceso de solo lectura, no una escritura reversible: la evidencia no da undo. La cadena de conexión puede incluir contraseña — exposición de credenciales y del plano de datos. La única herramienta es query. Docker y NPX son rutas distintas; la principal sigue siendo NPX. La evidencia no documenta agrupación de conexiones, SSL ni la imposición de un rol de solo lectura, y no dice que una transacción READ ONLY bloquee todos los efectos secundarios (algunas funciones SQL pueden seguir teniendo efectos externos, pero la página no lo desarrolla). La página está en un árbol de repositorio archivado; la evidencia no ofrece paquete alternativo ni nota de migración.