PostgreSQL MCP Server
Provides automatic database discovery, connection management, and read-only query execution for PostgreSQL databases.
Click on "Install 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 installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/sebcbi1/mcp-postgresql-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server