PostgreSQL MCP Server

by hthuong09
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Enables interaction with PostgreSQL databases, allowing users to list tables, retrieve schemas, and execute read-only SQL queries against PostgreSQL databases.

Servidor PostgreSQL MCP

Este es un servidor de Protocolo de Contexto de Modelo para interactuar con bases de datos PostgreSQL. Proporciona una interfaz de solo lectura para consultar bases de datos PostgreSQL e inspeccionar su esquema.

Instalación

npm install -g @hthuong09/postgres-mcp

Configuración

El servidor se puede configurar de varias maneras, enumeradas en orden de prioridad:

  1. Variables de entorno
    • POSTGRES_URL : URL completa de la base de datos (por ejemplo, postgres://user:pass@host:5432/dbname )
    • Parámetros de conexión individuales:
      • POSTGRES_HOST : Host de la base de datos
      • POSTGRES_PORT : Puerto de base de datos (predeterminado: 5432)
      • POSTGRES_DB : Nombre de la base de datos
      • POSTGRES_USER : Usuario de la base de datos
      • POSTGRES_PASSWORD : Contraseña de la base de datos
      • POSTGRES_SSL : Habilitar el modo SSL (establecer en 'verdadero' para habilitarlo)
      • POSTGRES_SCHEMA : Esquema de base de datos (predeterminado: 'público')
    • Configuración adicional:
      • DOTENV_PATH : Ruta personalizada al archivo .env
      • DEBUG_MCP : Habilitar el registro de depuración (establecer en 'verdadero' para habilitar)
  2. Línea de comandos
    npx @hthuong09/postgres-mcp "postgres://user:pass@host:5432/dbname"

Recursos

  • Esquemas de tabla: cada tabla de la base de datos se expone como un recurso
  • Formato de URI de recurso: postgres://user@host/dbname/table_name/schema
  • Formato de respuesta: matriz JSON de definiciones de columnas (nombre y tipo de datos)

Ejemplos de uso

  1. Usando variables de entorno:
    export POSTGRES_HOST=localhost export POSTGRES_DB=mydb export POSTGRES_USER=myuser export POSTGRES_PASSWORD=mypassword npx @hthuong09/postgres-mcp
  2. Usando una URL de conexión:
    npx @hthuong09/postgres-mcp "postgres://myuser:mypassword@localhost:5432/mydb"
  3. Uso de variables de entorno con SSL:
    export POSTGRES_HOST=db.example.com export POSTGRES_DB=mydb export POSTGRES_USER=myuser export POSTGRES_PASSWORD=mypassword export POSTGRES_SSL=true npx @hthuong09/postgres-mcp
  4. Usando una ubicación de archivo .env personalizada:
    DOTENV_PATH=/path/to/.env npx @hthuong09/postgres-mcp

Consideraciones de seguridad

  • Las credenciales de la base de datos deben mantenerse seguras
  • Utilice variables de entorno o archivos .env en lugar de argumentos de línea de comandos en producción para evitar exponer credenciales en listas de procesos
  • Considere usar SSL en entornos de producción
  • El servidor solo permite transacciones de solo lectura por seguridad.
  • Las contraseñas se eliminan automáticamente de las URI de recursos

Desarrollo

Para construir el servidor localmente:

npm install npm run build

Para ejecutar en modo de observación durante el desarrollo:

npm run watch

Depuración

Configure DEBUG_MCP=true para habilitar el registro de depuración. Los registros se escribirán en:

  • Unix/macOS: /tmp/postgres-mcp-debug.json
  • Ventanas: %TEMP%/postgres-mcp-debug.json

Licencia

Instituto Tecnológico de Massachusetts (MIT)

-
security - not tested
F
license - not found
-
quality - not tested

Un servidor de protocolo de contexto de modelo que permite la interacción con bases de datos PostgreSQL para enumerar tablas, recuperar esquemas y ejecutar consultas SQL de solo lectura.

  1. Installation
    1. Configuration
      1. Resources
    2. Usage Examples
      1. Security Considerations
        1. Development
          1. Debugging
            1. License
              ID: c92j003vx0