Skip to main content
Glama
krishamehta09

Postgres Analytics MCP Server

Postgres Analytics MCP Server

Ein Model Context Protocol (MCP)-Server, der KI-Assistenten (Claude, Cursor und andere MCP-kompatible Clients) sicher eine PostgreSQL-Datenbank untersuchen und abfragen lässt – mit Schreibschutz-Erzwingung, Zeilen-/Timeout-Limits und vollständiger Audit-Protokollierung.

Entwickelt, um eine einfache Frage zu beantworten: Wie lässt man einen KI-Agenten eine echte Datenbank anfassen, ohne ihm die Möglichkeit zu geben, etwas zu beschädigen?

Was es tut

Sobald die Verbindung steht, kann ein KI-Client Dinge fragen wie:

  • „Welche Tabellen gibt es in meiner Datenbank?"

  • „Zeig mir die 10 neuesten Bestellungen."

  • „Warum ist diese Abfrage langsam?"

  • „Welchen Tabellen fehlen Indizes?"

Der Server stellt 5 Tools über MCP bereit:

Tool

Zweck

list_schemas

Alle Nicht-System-Schemas auflisten

list_tables

Tabellen in einem bestimmten Schema auflisten

run_query

Eine schreibgeschützte SQL-Abfrage ausführen (nur SELECT/WITH)

explain_query

Einen Abfrageausführungsplan zurückgeben und kennzeichnen, ob er langsam ist

get_table_stats

Zeilen-Schätzungen und Index-/Seq-Scan-Zählungen für eine Tabelle zurückgeben

Related MCP server: PostgreSQL MCP Server

Warum es existiert

Unternehmen verbinden zunehmend KI-Agenten mit internen Systemen (Datenbanken, Kubernetes, APIs), und der schwierige Teil ist, dies sicher zu tun. Dieses Projekt ist ein kleines, konkretes Beispiel dafür: eine abgesicherte Brücke zwischen einem KI-Client und einer produktionsähnlichen Datenbank.

Design-Entscheidungen

Standardmäßig schreibgeschützt, doppelt abgesichert: Jede Abfrage wird gegen eine Blocklist validiert und muss mit SELECT, WITH oder EXPLAIN beginnen. Die Datenbankverbindung selbst wird ebenfalls im schreibgeschützten Modus geöffnet, als zweite Verteidigungslinie.

Zeilenlimits und Abfrage-Timeouts: Jede Abfrage ist durch ein konfigurierbares Zeilenlimit und ein Statement-Timeout begrenzt, sodass sie keine unbegrenzten Daten zurückgeben oder den Server aufhängen kann.

Authentifizierung lebt in der Prozessumgebung, nicht im Chat: Der API-Schlüssel wird über die MCP-Client-Konfiguration als Umgebungsvariable gesetzt, sodass das KI-Modell ihn nie direkt sieht oder verarbeitet.

Audit-Protokollierung: Jeder Tool-Aufruf wird mit Zeitstempel, Tool-Name, Argumenten und Ergebnis aufgezeichnet.

Einrichtung

Voraussetzungen: Python 3.11+, PostgreSQL

  1. Erstelle eine virtuelle Umgebung und installiere die Abhängigkeiten: python -m venv venv venv\Scripts\Activate.ps1 pip install -r requirements.txt

  2. Erstelle eine Datenbank und lade das Beispiel-Schema: psql -U postgres -c "CREATE DATABASE sampledb;" psql -U postgres -d sampledb -f seed.sql

  3. Kopiere .env.example zu .env und fülle deine eigenen Werte ein.

  4. Führe es direkt aus, um es zu überprüfen: python -m server.main

Verbindung zu Claude Desktop herstellen

Füge zu claude_desktop_config.json hinzu (Claude Desktop -> Einstellungen -> Entwickler -> Konfiguration bearbeiten):

"mcpServers": {
  "postgres-analytics": {
    "command": "C:\\path\\to\\venv\\Scripts\\python.exe",
    "args": ["-m", "server.main"],
    "env": {
      "PYTHONPATH": "C:\\path\\to\\project",
      "MCP_API_KEY": "same-value-as-in-.env"
    }
  }
}

Stack

Python, PostgreSQL, MCP Python SDK, psycopg2

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to safely interact with PostgreSQL databases through read-only operations, providing schema discovery, table inspection, and query execution capabilities with structured context awareness.
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides read-only access to PostgreSQL databases, enabling users to list tables, view table structures and statistics, and execute SELECT queries safely through natural language.
    134 npm
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Enables AI agents to inspect and query PostgreSQL databases safely, with features like listing tables, retrieving schemas, and running read-only SQL queries.
    3
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to safely interact with PostgreSQL databases, perform queries, inspect schemas, and analyze query performance.
    2
    -