PostgreSQL Database Interface
STDIOModel Context Protocol server for interacting with PostgreSQL databases in read-only mode.
Model Context Protocol server for interacting with PostgreSQL databases in read-only mode.
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.
npm install -g @hthuong09/postgres-mcp
The server can be configured in multiple ways, listed in order of priority:
Environment Variables
POSTGRES_URL
: Full database URL (e.g., postgres://user:pass@host:5432/dbname
)POSTGRES_HOST
: Database hostPOSTGRES_PORT
: Database port (default: 5432)POSTGRES_DB
: Database namePOSTGRES_USER
: Database userPOSTGRES_PASSWORD
: Database passwordPOSTGRES_SSL
: Enable SSL mode (set to 'true' to enable)POSTGRES_SCHEMA
: Database schema (default: 'public')DOTENV_PATH
: Custom path to .env fileDEBUG_MCP
: Enable debug logging (set to 'true' to enable)Command Line
npx @hthuong09/postgres-mcp "postgres://user:pass@host:5432/dbname"
postgres://user@host/dbname/table_name/schema
Using environment variables:
export POSTGRES_HOST=localhost export POSTGRES_DB=mydb export POSTGRES_USER=myuser export POSTGRES_PASSWORD=mypassword npx @hthuong09/postgres-mcp
Using a connection URL:
npx @hthuong09/postgres-mcp "postgres://myuser:mypassword@localhost:5432/mydb"
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
Using a custom .env file location:
DOTENV_PATH=/path/to/.env npx @hthuong09/postgres-mcp
To build the server locally:
npm install npm run build
To run in watch mode during development:
npm run watch
Set DEBUG_MCP=true
to enable debug logging. Logs will be written to:
/tmp/postgres-mcp-debug.json
%TEMP%/postgres-mcp-debug.json
MIT