Skip to main content
Glama

PostgreSQL MCP Server

by hthuong09
MIT License
35
  • Linux
  • Apple

MCP PostgreSQL Server

This is a Model Context Protocol server for interacting with PostgreSQL databases. It provides a read-only interface to query PostgreSQL databases and inspect their schema.

Installation

npm install -g @hthuong09/postgres-mcp

Configuration

The server can be configured in multiple ways, listed in order of priority:

  1. Environment Variables
    • POSTGRES_URL: Full database URL (e.g., postgres://user:pass@host:5432/dbname)
    • Individual connection parameters:
      • POSTGRES_HOST: Database host
      • POSTGRES_PORT: Database port (default: 5432)
      • POSTGRES_DB: Database name
      • POSTGRES_USER: Database user
      • POSTGRES_PASSWORD: Database password
      • POSTGRES_SSL: Enable SSL mode (set to 'true' to enable)
      • POSTGRES_SCHEMA: Database schema (default: 'public')
    • Additional configuration:
      • DOTENV_PATH: Custom path to .env file
      • DEBUG_MCP: Enable debug logging (set to 'true' to enable)
  2. Command Line
    npx @hthuong09/postgres-mcp "postgres://user:pass@host:5432/dbname"

Resources

  • Table schemas: Each table in the database is exposed as a resource
  • Resource URI format: postgres://user@host/dbname/table_name/schema
  • Response format: JSON array of column definitions (name and data type)

Usage Examples

  1. Using environment variables:
    export POSTGRES_HOST=localhost export POSTGRES_DB=mydb export POSTGRES_USER=myuser export POSTGRES_PASSWORD=mypassword npx @hthuong09/postgres-mcp
  2. Using a connection URL:
    npx @hthuong09/postgres-mcp "postgres://myuser:mypassword@localhost:5432/mydb"
  3. Using environment variables with 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. Using a custom .env file location:
    DOTENV_PATH=/path/to/.env npx @hthuong09/postgres-mcp

Security Considerations

  • Database credentials should be kept secure
  • Use environment variables or .env files instead of command line arguments in production to avoid exposing credentials in process lists
  • Consider using SSL in production environments
  • The server only allows read-only transactions for safety
  • Passwords are automatically stripped from resource URIs

Development

To build the server locally:

npm install npm run build

To run in watch mode during development:

npm run watch

Debugging

Set DEBUG_MCP=true to enable debug logging. Logs will be written to:

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

License

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

A Model Context Protocol server that enables interaction with PostgreSQL databases to list tables, retrieve schemas, and execute read-only SQL queries.

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

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server providing both read and write access to PostgreSQL databases, enabling LLMs to query data, modify records, and manage database schemas.
                Last updated -
                141
                7
                JavaScript
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables powerful PostgreSQL database management capabilities including analysis, schema management, data migration, and monitoring through natural language interactions.
                Last updated -
                18
                438
                89
                TypeScript
                AGPL 3.0
                • Linux
                • Apple
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables interaction with PostgreSQL databases for analyzing setups, debugging issues, managing schemas, migrating data, and monitoring performance.
                Last updated -
                1
                1
                TypeScript
                MIT License
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server implementation that provides a simple interface to interact with PostgreSQL databases, enabling SQL queries, database operations, and schema management through MCP.
                Last updated -
                Python

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/hthuong09/postgres-mcp'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server