MCP Hub
Back to servers

PostgreSQL MCP Server

Enables querying PostgreSQL database metadata including table lists and schema information through the MCP protocol. Supports stdio transport for Cursor/IDE integration as well as HTTP transport with health check endpoints.

glama
Updated
Apr 5, 2026

Postgres MCP server

An FastMCP-based MCP server for PostgreSQL metadata (table lists, etc.). Default transport is stdio (for Cursor/IDE); with HTTP transport, GET /health is available.

Requirements: Python 3.14+, uv, and a running PostgreSQL instance.

Install

git clone <url> mccp && cd mccp
uv sync

Database configuration

By default, env/local.ini is read (path is relative to the repo root, not the current working directory). Copy the example and set your values:

db_host=localhost
db_port=5432
db_name=your_db
db_user=postgres
db_password=secret

The same settings can be passed via environment variables DB_HOST, DB_PORT, DB_NAME, DB_USER, DB_PASSWORD or CLI flags --db_host, --db_port, etc. (see python src/main.py --help).

Run the server

uv run python src/main.py -t stdio

Other FastMCP transports: -t http, -t sse, and so on. Logs go to a file (default logs/mccp.log); override with --log_file.

For quick DB checks without MCP, use uv run python src/r.py — it uses the same config and calls the tools directly.

Tests

uv run python -m unittest src.tests.process_stdio -v

These integration tests spawn src/main.py as a stdio subprocess; you need a reachable database configured in env/local.ini.

Reviews

No reviews yet

Sign in to write a review