Skip to main content
Glama

Postgres MCP Server

by wongjingping

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=housing

Related 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.py

MCP 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 constraints

  • list_tables - List all database tables

  • postgres://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 SELECT statements allowed

  • Parameterized 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

-
security - not tested
F
license - not found
-
quality - not tested

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