Skip to content
Windsurf

PostgreSQL for Windsurf

io.github.antonorlov/mcp-postgres-server

MCP server for PostgreSQL: local, Docker, RDS, Neon, Supabase, or behind an SSH bastion.

client:Windsurf transport:stdio runtime:npm

Install PostgreSQL in Windsurf

~/.codeium/windsurf/mcp_config.json · windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

Held in this page only — never stored, logged, or sent anywhere but back to your screen.

{
  "mcpServers": {
    "mcp-postgres-server": {
      "command": "npx",
      "args": [
        "-y",
        "mcp-postgres-server"
      ],
      "env": {
        "DATABASE_URL": "<DATABASE_URL>",
        "PG_HOST": "<PG_HOST>",
        "PG_PORT": "<PG_PORT>",
        "PG_USER": "<PG_USER>",
        "PG_PASSWORD": "<PG_PASSWORD>",
        "PG_DATABASE": "<PG_DATABASE>",
        "PG_ALLOW_WRITE": "<PG_ALLOW_WRITE>",
        "PG_SSLMODE": "<PG_SSLMODE>",
        "PG_SSL_CA": "<PG_SSL_CA>",
        "PG_ENABLE_RUNTIME_CONNECT": "<PG_ENABLE_RUNTIME_CONNECT>",
        "PG_MAX_RESULT_BYTES": "<PG_MAX_RESULT_BYTES>",
        "PG_STATEMENT_TIMEOUT": "<PG_STATEMENT_TIMEOUT>",
        "PG_CONNECT_TIMEOUT": "<PG_CONNECT_TIMEOUT>",
        "PG_SSH_HOST": "<PG_SSH_HOST>",
        "PG_SSH_PORT": "<PG_SSH_PORT>",
        "PG_SSH_USER": "<PG_SSH_USER>",
        "PG_SSH_PRIVATE_KEY": "<PG_SSH_PRIVATE_KEY>",
        "PG_SSH_PASSPHRASE": "<PG_SSH_PASSPHRASE>",
        "PG_SSH_AGENT": "<PG_SSH_AGENT>",
        "PG_SSH_PASSWORD": "<PG_SSH_PASSWORD>",
        "PG_SSH_FINGERPRINT": "<PG_SSH_FINGERPRINT>",
        "PG_SSH_KEEPALIVE_INTERVAL": "<PG_SSH_KEEPALIVE_INTERVAL>"
      }
    }
  }
}

Global only — Windsurf has no per-project MCP config. Refresh Cascade after saving. Windsurf docs

PostgreSQL in other clients