Postgres MCP Server
Provides tools for querying PostgreSQL databases, inspecting database schemas, listing tables, and retrieving detailed table information with column definitions and constraints.
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., "@Postgres MCP Servershow me the schema for the users table"
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.
MCP Postgres Server
A Model Context Protocol server for querying PostgreSQL databases with tools for data retrieval and schema inspection.
Setup
Prerequisites: Python 3.11+ and PostgreSQL
# Install dependencies
pip install -r requirements.txt
# Configure database connection (defaults shown)
export POSTGRES_HOST=localhost
export POSTGRES_PORT=5432
export POSTGRES_USER=postgres
export POSTGRES_PASSWORD=postgres
export POSTGRES_DB=housingRelated MCP server: PostgreSQL MCP Server
Usage
Development
Run the following command to start the server in development mode and launch the MCP Inspector:
mcp dev main.pyMCP Client Integration
You can also add the following to your MCP client configuration to use the server:
{
"mcpServers": {
"postgres": {
"command": "python",
"args": ["main.py"],
"env": {
"POSTGRES_HOST": "localhost",
"POSTGRES_PORT": "5432",
"POSTGRES_USER": "postgres",
"POSTGRES_PASSWORD": "postgres",
"POSTGRES_DB": "housing"
}
}
}
}See mcp.json for an example of how to add the server in Cursor IDE.
Available Tools
query_database- Execute SELECT queries (with SQL injection protection)get_table_schema- Get table column information and constraintslist_tables- List all database tablespostgres://schema- Access complete database schema (resource)
Comparison with Official MCP Postgres Server
This implementation differs from the official @modelcontextprotocol/server-postgres in several key ways:
Feature | This Server (Python) | Official Server (TypeScript) |
Safety | Guards against SQL injection | No protection |
Connection Pooling | ✅ Built-in (asyncpg) | ❌ Single connection |
Security
Only
SELECTstatements allowedParameterized queries supported
Environment-based configuration (no hardcoded credentials)
Next Steps
Implement auth for postgres - currently I'm still relying on env variables which doesn't seem very secure
Extend this to run on multiple databases and potentially multiple postgres instances as well
Implement table / column pruning
This server cannot be installed
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
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/wongjingping/postgres-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server