PostgreSQL MCP Server
Provides automatic database discovery, connection management, and read-only query execution for PostgreSQL databases.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@PostgreSQL MCP Servershow me all tables in the database"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
PostgreSQL MCP Server
A secure, read-only PostgreSQL Model Context Protocol (MCP) server for AI assistant integration with automatic database discovery and connection management.
What It Does
This tool provides two main components:
Query Executor (
execute_query.py): Interactive PostgreSQL query execution with support for direct queries, file input, and interactive modeMCP Server (
mcp_postgresql_server.py): AI assistant integration that allows natural language database interactions through Claude and other MCP clients
Related MCP server: Enterprise PostgreSQL MCP Server
Key Features
Automatic Database Discovery: Scans project files for database configurations and presents options for selection
Read-Only Safety: Blocks write operations by default (configurable)
Interactive Configuration: Guides users through database setup with automatic
.envfile managementConnection Pooling: Efficient PostgreSQL connection management
AI Integration: Works seamlessly with Claude Desktop and Cursor IDE
Quick Start
Prerequisites: Ensure you have uv installed.
Using uvx (Recommended)
Run directly without installation:
# MCP Server for AI integration
uvx mcp-postgresql-server
# Query executor
uvx --from mcp-postgresql-server execute-query "SELECT version()"Configuration
Set your database connection:
export MCP_POSTGRESQL_DATABASE="postgres://username:password@hostname:port/database"Or create a .env file:
MCP_POSTGRESQL_DATABASE=postgres://username:password@hostname:port/database
MCP_POSTGRESQL_READ_ONLY=true
MCP_POSTGRESQL_LOG_FILE=./mcp-postgresql.log
MCP_POSTGRESQL_LOG_LEVEL=infoUsage Examples
Query Executor
Using uvx (recommended):
# Interactive mode
uvx --from mcp-postgresql-server execute-query
# Direct query
uvx --from mcp-postgresql-server execute-query "SELECT COUNT(*) FROM users"
# From file
uvx --from mcp-postgresql-server execute-query --file queries.sqlUsing Python directly:
# Interactive mode
python3 execute_query.py
# Direct query
python3 execute_query.py "SELECT COUNT(*) FROM users"
# From file
python3 execute_query.py --file queries.sqlMCP Server with Claude Code (globally)
Add to ~/.claude.json:
{
"mcpServers": {
"mcp-postgres": {
"command": "uvx",
"args": ["mcp-postgresql-server"],
"env": {
"MCP_POSTGRESQL_CWD": "${PWD}"
}
}
}
}Then ask Claude:
"Show me all tables in the database"
"Execute SELECT COUNT(*) FROM users"
"Help me write a query to find recent orders"
Cursor IDE Integration
Create/update mcp.json in your project root:
{
"mcpServers": {
"mcp-postgresql-server": {
"command": "uvx",
"args": ["mcp-postgresql-server"],
"env": {
"MCP_POSTGRESQL_CWD": "."
}
}
}
}Configuration Discovery
The server automatically discovers database configurations from:
.envfiles.confand.inifiles.jsonand.yamlfilesIndividual parameter files (db.host, db.user, etc.)
When multiple configurations are found, it presents an interactive selection menu.
Saved configurations are stored in a .env file for future use
using MCP_POSTGRESQL_DATABASE variable.
Environment Variables
Variable | Description | Default |
| PostgreSQL connection URI | Required |
| Enable read-only mode |
|
| Log file path (optional) | None |
| Log level (debug, info, warning, error, critical) |
|
| Path of the project working directory |
|
Security
Read-only by default: Blocks INSERT, UPDATE, CREATE, ALTER, DROP operations
Connection validation: Validates all database connections before use
Credential protection: Supports environment variables and
.envfilesError handling: Comprehensive error reporting without exposing sensitive data
Common Issues
Connection errors: Verify MCP_POSTGRESQL_DATABASE format: postgres://user:password@host:port/database
Permission issues: Ensure database user has appropriate SELECT permissions
This server cannot be deployed
Maintenance
Related MCP Connectors
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.
Ask questions in plain language, get answers from your business database. No SQL required.
Related MCP Servers
- FlicenseAqualityDmaintenanceEnables AI assistants to interact with PostgreSQL databases using natural language queries, providing secure read-only access to database schemas and SQL translation capabilities.67 npm-
- -licenseNot gradedqualityNot gradedmaintenanceEnables secure read-only interactions with PostgreSQL databases through natural language. Provides database inspection, table listing, and SQL query execution with built-in security validation.-
- AlicenseNot gradedqualityCmaintenanceEnables secure read-only access to PostgreSQL databases, allowing users to list tables, query schemas, execute SELECT statements, and inspect table structures through natural language interactions.347 npm4MIT
- AlicenseAqualityBmaintenanceEnables read-only interaction with PostgreSQL databases through natural language queries, supporting dynamic connections and secure query validation.3128 npm2MIT