Servidor MCP (Model Context Protocol) para acceso de solo lectura a bases de datos PostgreSQL.
Este servidor MCP proporciona herramientas para:
- 📋 Listar tablas disponibles en la base de datos
- 🔍 Ver estructura completa de tablas (columnas, tipos, constraints, índices)
- 📊 Obtener estadísticas de tablas (filas, tamaño, última actualización)
- 🔎 Ejecutar queries SELECT de solo lectura (protegido contra operaciones de escritura)
# Instalar dependencias
npm install
# Compilar el proyecto
npm run buildAgrega la configuración del servidor MCP en tu archivo de configuración de Claude Desktop:
Edita: ~/Library/Application Support/Claude/claude_desktop_config.json
Edita: %APPDATA%\Claude\claude_desktop_config.json
Configuración:
{
"mcpServers": {
"postgres-mcp": {
"command": "node",
"args": [
"/ruta/absoluta/a/postgres-mcp/build/index.js"
],
"env": {
"PGHOST": "localhost",
"PGPORT": "5432",
"PGDATABASE": "tu_base_de_datos",
"PGUSER": "tu_usuario",
"PGPASSWORD": "tu_password"
}
}
}
}Importante: Reemplaza /ruta/absoluta/a/postgres-mcp con la ruta real donde clonaste el proyecto.
Lista todas las tablas en un schema.
Parámetros:
schema(opcional): Nombre del schema (por defecto: 'public')
Ejemplo de uso:
Lista todas las tablas de la base de datosMuestra la estructura completa de una tabla.
Parámetros:
table_name(requerido): Nombre de la tablaschema(opcional): Nombre del schema (por defecto: 'public')
Ejemplo de uso:
Muéstrame la estructura de la tabla usersEjecuta una consulta SELECT de solo lectura.
Parámetros:
sql(requerido): Consulta SQL SELECTlimit(opcional): Límite de filas a retornar (por defecto: 100)
Ejemplo de uso:
Ejecuta esta query: SELECT * FROM users WHERE active = trueObtiene estadísticas de una tabla.
Parámetros:
table_name(requerido): Nombre de la tablaschema(opcional): Nombre del schema (por defecto: 'public')
Ejemplo de uso:
Muéstrame las estadísticas de la tabla products🔒 Este servidor está diseñado para ser de solo lectura:
- Solo permite consultas
SELECT - Bloquea operaciones:
INSERT,UPDATE,DELETE,DROP,CREATE,ALTER,TRUNCATE, etc. - Aplica límites automáticos a las consultas que no especifican
LIMIT
# Compilar en modo watch
npm run watch
# Ejecutar en desarrollo
npm start- Verifica que PostgreSQL esté corriendo
- Confirma las credenciales en el archivo
.env - Verifica que el usuario tenga permisos de lectura en la base de datos
- Asegúrate de haber reiniciado Claude Desktop después de editar la configuración
- Verifica que la ruta al archivo
build/index.jssea absoluta y correcta - Revisa los logs de Claude Desktop para ver errores
- Solo se permiten consultas
SELECT - Asegúrate de no usar operaciones de escritura en tus queries