Skip to main content
Glama
larturi

PostgreSQL MCP Server

by larturi

PostgreSQL MCP Server

Servidor MCP (Model Context Protocol) para acceso de solo lectura a bases de datos PostgreSQL.

Características

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)

Related MCP server: PostgreSQL MCP Server

Instalación

# Instalar dependencias
npm install

# Compilar el proyecto
npm run build

Configuración en Claude Desktop

Agrega la configuración del servidor MCP en tu archivo de configuración de Claude Desktop:

macOS

Edita: ~/Library/Application Support/Claude/claude_desktop_config.json

Windows

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.

Herramientas Disponibles

1. list_tables

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 datos

2. describe_table

Muestra la estructura completa de una tabla.

Parámetros:

  • table_name (requerido): Nombre de la tabla

  • schema (opcional): Nombre del schema (por defecto: 'public')

Ejemplo de uso:

Muéstrame la estructura de la tabla users

3. query

Ejecuta una consulta SELECT de solo lectura.

Parámetros:

  • sql (requerido): Consulta SQL SELECT

  • limit (opcional): Límite de filas a retornar (por defecto: 100)

Ejemplo de uso:

Ejecuta esta query: SELECT * FROM users WHERE active = true

4. table_stats

Obtiene estadísticas de una tabla.

Parámetros:

  • table_name (requerido): Nombre de la tabla

  • schema (opcional): Nombre del schema (por defecto: 'public')

Ejemplo de uso:

Muéstrame las estadísticas de la tabla products

Seguridad

🔒 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

Desarrollo

# Compilar en modo watch
npm run watch

# Ejecutar en desarrollo
npm start

Troubleshooting

Error de conexión a PostgreSQL

  • 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

El servidor no aparece en Claude Desktop

  • Asegúrate de haber reiniciado Claude Desktop después de editar la configuración

  • Verifica que la ruta al archivo build/index.js sea absoluta y correcta

  • Revisa los logs de Claude Desktop para ver errores

"Query no permitida"

  • Solo se permiten consultas SELECT

  • Asegúrate de no usar operaciones de escritura en tus queries

Related MCP Connectors

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables secure read-only interactions with PostgreSQL databases through natural language. Provides database inspection, table listing, and SQL query execution with built-in security validation.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to safely interact with PostgreSQL databases through read-only operations, providing schema discovery, table inspection, and query execution capabilities with structured context awareness.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables exploration and querying of PostgreSQL databases through natural language. Supports listing tables, viewing schemas, executing SELECT queries, filtering records, and retrieving database statistics.
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables secure read-only access to PostgreSQL databases, allowing users to list tables, query schemas, execute SELECT statements, and inspect table structures through natural language interactions.
    300 npm
    4
    MIT