MCP Hub
Back to servers

PostgreSQL MCP Server

Enables Claude to interact with PostgreSQL databases by executing SQL queries, exploring schemas, and monitoring database health. It provides tools for data manipulation and schema management via a secure SSE connection.

Updated
Feb 22, 2026

PostgreSQL MCP Server

An MCP (Model Context Protocol) server that gives Claude full access to your PostgreSQL database over SSE (HTTP).

Available Tools

ToolDescription
execute_queryRun any SQL — SELECT, INSERT, UPDATE, DELETE, DDL
list_tablesList tables with sizes and row estimates
describe_tableFull schema of a table: columns, indexes, foreign keys
list_schemasList all schemas in the database
get_db_statsDatabase size, connections, cache hit ratio, top tables

Setup

1. Configure environment

cp .env.example .env
nano .env   # fill in your Postgres credentials

Key settings:

  • PG_HOST — IP or hostname of your PostgreSQL server
  • If Postgres runs on the same Docker host: use host.docker.internal (Linux: requires extra_hosts in compose) or the host's LAN IP
  • If Postgres runs in another Docker container/network: use the container name and add the network to docker-compose.yml

2. Build and start

docker compose up -d --build

3. Verify it's working

curl http://localhost:3000/health
# → {"status":"ok","database":"connected","sessions":0}

Connect Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)
or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "power-db": {
      "transport": "sse",
      "url": "http://YOUR_SERVER_IP:3000/sse"
    }
  }
}

Replace YOUR_SERVER_IP with your Docker host's IP (e.g. 192.168.1.50).

Then restart Claude Desktop. You'll see the tools appear in Claude's tool panel.


Connect Claude.ai (Remote MCP)

In Claude.ai Settings → Integrations → Add MCP Server:

  • URL: http://YOUR_SERVER_IP:3000/sse

Note: For claude.ai remote MCP, the server must be reachable from the internet or via a tunnel (e.g. ngrok http 3000).


Networking Tips

Postgres on Docker host (Linux)

Add to docker-compose.yml under the service:

extra_hosts:
  - "host.docker.internal:host-gateway"

Then use PG_HOST=host.docker.internal.

Postgres in another Docker network

networks:
  - your_postgres_network

networks:
  your_postgres_network:
    external: true

Logs

docker compose logs -f

Stop / Restart

docker compose down
docker compose up -d

Reviews

No reviews yet

Sign in to write a review