PostgreSQL Model Context Protocol (PG-MCP) Server

by stuzero

540 663 downloads Not rated yet

About

# PostgreSQL Model Context Protocol (PG-MCP) Server A Model Context Protocol (MCP) server for PostgreSQL databases with enhanced capabilities for AI agents. More info on the pg-mcp project here: ### [https://stuzero.github.io/pg-mcp/](https://stuzero.github.io/pg-mcp/) ## Overview PG-MCP is a server implementation of…

Explore

- Connect tool to register PostgreSQL connection strings and get a secure connection ID
- Read-only SQL execution (pg_query) with connection ID
- pg_explain tool to analyze query execution plans in JSON
- Schema discovery: list schemas, tables, columns, constraints, indexes, extensions
- Sample table data with pagination and approximate row counts
- Built-in YAML-based context for extensions like PostGIS and pgvector

Setting up with Highlight

This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name PostgreSQL Model Context Protocol (PG-MCP) Server
    Command (node, npx, python, etc.)

    Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.

  4. Enable "Start Automatically" if you want the plugin to start when Highlight launches

From the repository

- Python 3.13+
- PostgreSQL database(s)

```bash

uv sync

source .venv/bin/activate # On Windows: .venv\Scripts\activate

- pg_query: Execute read-only SQL queries using a connection ID
- pg_explain: Analyze query execution plans in JSON format

Claude Desktop / Cursor

Paste into your MCP client config file to install this server.

{
    "mcpServers": {
        "postgresql model context protocol (pg-mcp) server": {
            "pg-mcp-server": {
                "command": "uv",
                "args": [
                    "sync"
                ]
            }
        }
    }
}

McpServers

{
    "pg-mcp-server": {
        "command": "uv",
        "args": [
            "sync"
        ]
    }
}

A Model Context Protocol (MCP) server for PostgreSQL databases with enhanced capabilities for AI agents.

More info on the pg-mcp project here:

https://stuzero.github.io/pg-mcp/

Overview

PG-MCP is a server implementation of the Model Context Protocol for PostgreSQL databases. It provides a comprehensive API for AI agents to discover, connect to, query, and understand PostgreSQL databases through MCP's resource-oriented architecture.

This implementation builds upon and extends the reference Postgres MCP implementation with several key enhancements:

1. Full Server Implementation: Built as a complete server with SSE transport for production use
2. Multi-database Support: Connect to multiple PostgreSQL databases simultaneously
3. Rich Catalog Information: Extracts and exposes table/column descriptions from the database catalog
4. Extension Context: Provides detailed YAML-based knowledge about PostgreSQL extensions like PostGIS and pgvector
5. Query Explanation: Includes a dedicated tool for analyzing query execution plans
6. Robust Connection Management: Proper lifecycle for database connections with secure connection ID handling

Features

Connection Management

- Connect Tool: Register PostgreSQL connection strings and get a secure connection ID
- Disconnect Tool: Explicitly close database connections when done
- Connection Pooling: Efficient connection management with pooling

Query Tools

- pg_query: Execute read-only SQL queries using a connection ID
- pg_explain: Analyze query execution plans in JSON format

Schema Discovery Resources

- List schemas with descriptions
- List tables with descriptions and row counts
- Get column details with data types and descriptions
- View table constraints and indexes
- Explore database extensions

Data Access Resources

- Sample table data (with pagination)
- Get approximate row counts

Extension Context

Built-in contextual information for PostgreSQL extensions like:

- PostGIS: Spatial data types, functions, and examples
- pgvector: Vector similarity search functions and best practices

Additional extensions can be easily added via YAML config files.

Installation

Prerequisites

- Python 3.13+
- PostgreSQL database(s)

Using Docker

```bash

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.