Enables interaction with PostgreSQL databases, allowing users to list tables, retrieve schemas, and execute read-only SQL queries against PostgreSQL databases.
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
Configuration
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
)Individual connection parameters:
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')
Additional configuration:
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"
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
Using environment variables:
export POSTGRES_HOST=localhost export POSTGRES_DB=mydb export POSTGRES_USER=myuser export POSTGRES_PASSWORD=mypassword npx @hthuong09/postgres-mcpUsing 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-mcpUsing 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:
To run in watch mode during development:
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
This server cannot be installed
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.
Related MCP Servers
- -securityFlicense-qualityA 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 -7108
- AsecurityAlicenseAqualityA 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 -181,751124AGPL 3.0
- AsecurityAlicenseAqualityA Model Context Protocol server that enables interaction with PostgreSQL databases for analyzing setups, debugging issues, managing schemas, migrating data, and monitoring performance.Last updated -111MIT License
- -securityFlicense-qualityA 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 -