Skip to main content
Glama

Postgres MCP Server

Postgres MCP Server

A Model Context Protocol server for PostgreSQL databases. Enables LLMs to query and analyze PostgreSQL databases through a controlled interface.

Installation

Add to your MCP client settings:

{ "mcpServers": { "postgres": { "command": "npx", "args": ["--yes", "pg-mcp-server", "--transport", "stdio"], "env": { "DATABASE_URL": "postgresql://postgres:postgres@localhost:5432/postgres" } } } }

Configuration

  • DATABASE_URL - PostgreSQL connection string (required)
  • DANGEROUSLY_ALLOW_WRITE_OPS - Enable writes (default: false)
  • DEBUG - Enable debug logging (default: false)
  • PG_SSL_ROOT_CERT - Optional path to a TLS CA bundle (e.g., AWS RDS global bundle)

Usage

Transports

  • Default transport is stdio. Switch to HTTP with the --transport flag.
  • HTTP mode serves the MCP Streamable HTTP endpoint at /mcp on PORT (default 3000).
  • Clients that support Streamable HTTP should connect to http://localhost:3000/mcp.

Start commands:

# stdio transport (default, via installed CLI) pg-mcp-server --transport=stdio # http transport pg-mcp-server --transport=http

Tools

  • query - Execute SQL queries
    { "sql": "SELECT * FROM users WHERE active = true LIMIT 10" }

Resources

  • postgres://tables - List all tables
  • postgres://table/{schema}/{table} - Get table schema and sample data

Example Prompts

Here's an example prompt to test if your MCP server is working:

Show me the first 5 users from the database

Quick Start with Docker

# Start PostgreSQL with sample data bun run db:start # Test with MCP Inspector bun run inspector # Stop PostgreSQL bun run db:stop

Sample tables included: users, products, orders, order_items

Development

# Clone and install git clone https://github.com/ericzakariasson/pg-mcp-server.git cd pg-mcp-server bun install # Run (stdio transport) bun run index.ts -- --transport=stdio DEBUG=true bun run index.ts -- --transport=stdio # Run (http transport) bun run index.ts -- --transport=http DEBUG=true bun run index.ts -- --transport=http bun test # Run tests

Use local build in MCP client settings:

bun run build:js
{ "mcpServers": { "postgres": { "command": "node", "args": ["/absolute/path/to/pg-mcp-server/lib/index.js", "--transport", "stdio"], "env": { "DATABASE_URL": "postgresql://postgres:postgres@localhost:5432/postgres" } } } }

Releases

This repo auto-creates a GitHub Release when you push a tag that matches the version in package.json:

  1. Update CHANGELOG.md and bump the version in package.json.
  2. Commit the changes on main (or your release branch).
  3. Create and push a matching tag:
VERSION=$(jq -r .version package.json) git tag v"$VERSION" git push origin v"$VERSION"

The GitHub Actions workflow will validate that the tag (e.g. v0.1.0) matches package.json, then use gh to create a release with generated notes, and publish to npm.

License

MIT - see LICENSE

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

hybrid server

The server is able to function both locally and remotely, depending on the configuration or use case.

Enables LLMs to query and analyze PostgreSQL databases through a controlled interface. Supports SQL query execution, table schema inspection, and optional write operations with safety controls.

  1. Installation
    1. Configuration
      1. Usage
        1. Transports
        2. Tools
        3. Resources
        4. Example Prompts
      2. Quick Start with Docker
        1. Development
          1. Releases
            1. License

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server providing LLMs read-only access to PostgreSQL databases for inspecting schemas and executing queries.
                Last updated -
                18,078
                22
                MIT License
                • Apple
              • A
                security
                A
                license
                A
                quality
                Facilitates management and optimization of PostgreSQL databases, offering analysis, setup guidance, and debugging, while ensuring secure and efficient database operations.
                Last updated -
                3
                0
                16
                AGPL 3.0
                • Linux
                • Apple
              • -
                security
                A
                license
                -
                quality
                Enables LLMs to interact with MySQL databases by inspecting schemas and executing safe, read-only queries within transactions.
                Last updated -
                3
                8
                MIT License
                • Apple
              • -
                security
                F
                license
                -
                quality
                Provides read-only access to PostgreSQL databases, enabling LLMs to inspect database schemas and execute read-only SQL queries within a secure transaction context.
                Last updated -
                18,078
                1
                • Apple

              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/ericzakariasson/pg-mcp-server'

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