postgres-multi-mcp
Provides tools to work with all databases on a PostgreSQL server: list databases, schemas, tables, and extensions; describe tables including geometry and raster metadata; run read-only SQL queries; and, in full mode, execute arbitrary SQL for writes, schema changes, and administration. Automatically detects extensions such as PostGIS to support spatial analysis workflows.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
postgres-multi-mcp
Servidor MCP que permite a Claude trabajar con todas las bases de datos de un servidor PostgreSQL desde una sola configuración. Detecta automáticamente PostGIS y otras extensiones en cada base, sin configuración previa.
Pensado para análisis de datos y trabajo geoespacial: consultas, administración de bases, análisis espacial con PostGIS, ruteo con pgRouting y más, pidiéndolo en lenguaje natural desde Claude Desktop.
Características
Multi-base: una sola entrada en la configuración da acceso a todas las bases del servidor, incluidas las que crees después.
Detección automática de extensiones: si una base tiene PostGIS, el servidor lo reconoce al momento. Si activas PostGIS más adelante, no hace falta reiniciar ni reconfigurar nada.
Geometrías legibles: en lugar del texto hexadecimal ilegible, las geometrías se muestran resumidas (
<geometry: MultiPolygon, SRID 32718, 4.2 KB>). Los rasters, igual.Dos modos de acceso: solo lectura (por defecto) o control total.
Control total real: en modo completo funciona todo lo que PostgreSQL permite por SQL, incluido
CREATE DATABASE,CREATE EXTENSION,VACUUMyALTER SYSTEM.Resultados acotados: límite de filas y de tamaño por valor, para que una consulta grande no sature la conversación.
Mensajes de error claros, en español.
Related MCP server: PostgreSQL MCP AllAccess
Herramientas
Herramienta | Qué hace |
| Lista todas las bases del servidor, con propietario, codificación y tamaño |
| Lista los esquemas de una base |
| Lista tablas, vistas, vistas materializadas y tablas foráneas de un esquema |
| Columnas, tipos (las geometrías muestran tipo y SRID), restricciones e índices |
| Extensiones activas en una base y las disponibles para activar |
| Consultas de solo lectura ( |
| Cualquier sentencia SQL: escritura, estructura y administración. Solo en modo |
Todas aceptan el parámetro database. Si no se indica, se usa la base por defecto.
Requisitos
Claude Desktop (Windows o macOS).
PostgreSQL instalado y funcionando, con un usuario y contraseña para conectarse.
PostGIS es opcional. El servidor funciona sin él y lo detecta solo si lo instalas después.
No necesitas instalar Python: uv se encarga de todo.
Instalación
Paso 1. Instalar uv (una sola vez)
uv es un instalador de Python que descarga el servidor y sus dependencias automáticamente.
Windows — abre PowerShell y ejecuta:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"macOS — abre Terminal y ejecuta:
curl -LsSf https://astral.sh/uv/install.sh | shAl terminar, cierra y vuelve a abrir la consola, y comprueba la ruta de uvx:
Windows:
where uvx→ normalmenteC:\Users\TU_USUARIO\.local\bin\uvx.exemacOS:
which uvx→ normalmente/Users/TU_USUARIO/.local/bin/uvx
Anota esa ruta: la usarás en el paso 2.
Paso 2. Agregar el servidor a Claude Desktop
Abre Claude Desktop → Configuración → Desarrollador → Editar configuración.
Haz una copia de seguridad del archivo
claude_desktop_config.jsonantes de modificarlo.Dentro de
"mcpServers", agrega el bloque"PostgreSQL". Si ya tienes otros servidores, sepáralo con una coma.
Windows:
{
"mcpServers": {
"PostgreSQL": {
"command": "C:\\Users\\TU_USUARIO\\.local\\bin\\uvx.exe",
"args": [
"--from",
"https://github.com/bitacorageoespacial/postgres-multi-mcp/archive/refs/heads/main.zip",
"postgres-multi-mcp"
],
"env": {
"PG_HOST": "localhost",
"PG_PORT": "5432",
"PG_USER": "postgres",
"PG_PASSWORD": "TU_CONTRASEÑA",
"PG_DEFAULT_DB": "postgres",
"PG_ACCESS_MODE": "readonly"
}
}
}
}macOS: igual, cambiando command por "/Users/TU_USUARIO/.local/bin/uvx".
Reemplaza:
TU_USUARIOpor tu usuario del sistema (la ruta que obtuviste en el paso 1).TU_CONTRASEÑApor la contraseña de tu usuario de PostgreSQL.
En el JSON de Windows, las barras de las rutas van dobles (
\\). Si tu contraseña contiene comillas"o barras invertidas\, escríbelas como\"y\\.
Paso 3. Reiniciar Claude Desktop
Cierra Claude Desktop por completo: en Windows, clic derecho en su ícono de la bandeja del sistema (junto al reloj) → Salir. Cerrar la ventana no basta.
Ábrelo de nuevo.
Ve a Configuración → Desarrollador: el servidor
PostgreSQLdebe aparecer En ejecución.
La primera vez puede tardar unos segundos, mientras uv descarga el servidor.
Paso 4. Probar
En una conversación nueva, pídele a Claude:
Lista mis bases de datos de PostgreSQL
Si responde con tus bases, todo está funcionando.
Configuración
Todas las opciones se definen en el bloque "env" de la configuración de Claude.
Variable | Por defecto | Descripción |
|
| Servidor de PostgreSQL |
|
| Puerto |
| — | Usuario (obligatorio) |
| — | Contraseña |
|
| Base usada cuando no se indica ninguna |
|
|
|
|
| Máximo de filas devueltas por consulta |
|
| Tiempo máximo por sentencia, en milisegundos |
|
| Máximo de caracteres por valor de texto; los más largos se recortan |
Modos de acceso
Modo | Qué permite |
| Solo consultas. Cualquier intento de modificar algo lo rechaza el propio PostgreSQL. |
| Todo lo que tu usuario de PostgreSQL pueda hacer: insertar, borrar, crear y eliminar tablas y bases, activar extensiones, cambiar la configuración del servidor |
⚠️ Sobre el modo
full: si te conectas con un superusuario (comopostgres), Claude podrá hacer cualquier cosa en el servidor, incluido borrar bases completas. Claude Desktop te pide aprobar cada llamada: revisa el SQL antes de aprobarlo, sobre todo si contieneDROP,DELETE,TRUNCATEoUPDATE, y evita la opción "permitir siempre" paraexecute_sql. Mantén respaldos de las bases importantes.Para limitar lo que Claude puede hacer, conéctate con un usuario de PostgreSQL con menos permisos: el servidor nunca supera los permisos del usuario configurado.
Uso
Algunos ejemplos de lo que puedes pedirle a Claude:
"¿Qué tablas tiene la base
catastro?""Describe la tabla
prediosy dime en qué sistema de coordenadas está""Calcula el área en hectáreas de cada predio"
"¿Qué predios se superponen entre sí?"
"Crea una base llamada
proyecto_riocon PostGIS activado""¿Qué extensiones puedo activar en esta base?"
Geometrías
Las columnas geometry, geography y raster se muestran resumidas para no saturar la conversación:
<geometry: MultiPolygon, SRID 32718, 4.2 KB; usa ST_AsText o ST_AsGeoJSON para ver coordenadas>Para ver las coordenadas, la consulta debe usar ST_AsText(geom) o ST_AsGeoJSON(geom). Claude lo hace solo cuando lo necesitas.
Limitaciones
Limitación | Detalle |
No hay consultas entre bases | PostgreSQL no permite unir tablas de dos bases distintas en una misma consulta. Claude consulta cada base por separado. Para cruces frecuentes, usa varios esquemas en una sola base, o la extensión |
Sentencias que van solas |
|
Instalar extensiones | El servidor puede activar extensiones ( |
Respaldos |
|
Operaciones muy largas | Las que superen |
Configuración opcional del servidor PostgreSQL
Estos ajustes no son del MCP, sino de tu servidor PostgreSQL. Son opcionales, pero recomendables.
Registro de cambios de estructura
Hace que PostgreSQL anote en su registro cada CREATE, DROP y ALTER, indicando qué aplicación lo hizo. Muy útil para saber, por ejemplo, quién borró una base. Ejecuta como superusuario:
ALTER SYSTEM SET log_statement = 'ddl';
ALTER SYSTEM SET log_line_prefix = '%m [%p] %a %u@%d ';
SELECT pg_reload_conf();Cada cambio hecho por Claude aparecerá identificado como postgres-multi-mcp.
Exportar rasters con PostGIS (Windows)
Por seguridad, PostGIS viene con todos los formatos raster desactivados. Para exportar a GeoTIFF, PNG y JPEG:
ALTER SYSTEM SET postgis.gdal_enabled_drivers = 'GTiff PNG JPEG';
ALTER SYSTEM SET postgis.gdal_datapath = 'C:/Program Files/PostgreSQL/18/gdal-data';
SELECT pg_reload_conf();GDAL admite muchos más formatos (COG, JPEG2000, NetCDF, HFA/IMG de ERDAS, etc.), que puedes agregar a la lista si los necesitas. Evita ENABLE_ALL.
Si los GeoTIFF exportados salen sin sistema de coordenadas, GDAL no encuentra los datos de PROJ. Agrégalos como variables de entorno solo del servicio de PostgreSQL (no del sistema, para no afectar a ArcGIS Pro o QGIS). En PowerShell como administrador:
New-ItemProperty -Path "HKLM:\SYSTEM\CurrentControlSet\Services\postgresql-x64-18" -Name "Environment" -PropertyType MultiString -Value @("PROJ_LIB=C:\Program Files\PostgreSQL\18\share\contrib\postgis-3.6\proj", "GDAL_DATA=C:\Program Files\PostgreSQL\18\gdal-data")
Restart-Service postgresql-x64-18Ajusta las rutas y el nombre del servicio (Get-Service *postgres*) a tu versión de PostgreSQL y PostGIS.
Solución de problemas
En Claude Desktop, ve a Configuración → Desarrollador → PostgreSQL → Ver registros.
Problema | Causa probable |
El servidor aparece como "failed" y el registro dice | La ruta de |
Claude Desktop ignora la configuración | El JSON tiene un error: una coma de más o de menos, o una comilla sin cerrar |
| Usuario o contraseña incorrectos |
| El servicio de PostgreSQL no está activo, o el puerto es otro |
| El nombre de la base está mal escrito, o |
| Se intentó modificar algo en modo |
| Hay conexiones abiertas a esa base (por ejemplo, en pgAdmin). Ciérralas, o usa |
Actualizar
uv guarda una copia del servidor. Para descargar la versión más reciente, ejecuta en la consola:
uv cache clean postgres-multi-mcpy reinicia Claude Desktop.
Desinstalar
Borra el bloque "PostgreSQL" de la configuración de Claude Desktop y reinícialo. Si quieres liberar espacio, ejecuta también uv cache clean postgres-multi-mcp.
Licencia
MIT © 2026 bitacorageoespacial
Este proyecto se ofrece tal cual, sin garantías. Úsalo con responsabilidad, sobre todo en modo full.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Hosted PostgreSQL MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Query your Postgres from ChatGPT or Claude without exposing the database or handing over credentials. Run npx boltschema connect next to your database and it dials out over HTTPS — no inbound firewall rule, no open port, works with localhost and VPC-private databases. Read-only is enforced by a SQL guard, a Postgres READ ONLY transaction, and a scoped role generated for you.
Query Postgres, MySQL, SQL Server, Oracle, BigQuery, ClickHouse and Redshift from your AI client.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceProvides authenticated access to PostgreSQL databases for Claude AI, enabling users to browse database tables, discover schemas, and execute custom SQL queries through natural language interaction.MIT
- AlicenseNot gradedqualityDmaintenanceEnables interaction with PostgreSQL databases through a production-ready MCP server with global connection pooling, automatic AWS password rotation, and comprehensive SQL operations. Supports multiple concurrent Claude sessions while maintaining efficient connection limits to the database.Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to interact with PostgreSQL databases through natural language for schema exploration, data analysis, and query execution. Users can search schemas, describe tables, and perform read or write operations without needing to write manual SQL.-
- FlicenseNot gradedqualityDmaintenanceEnables Claude Desktop to connect to PostgreSQL databases, allowing users to query, explore schemas, and analyze data using plain English without writing SQL.-