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
Erstelle eine virtuelle Umgebung und installiere die Abhängigkeiten: python -m venv venv venv\Scripts\Activate.ps1 pip install -r requirements.txt
Erstelle eine Datenbank und lade das Beispiel-Schema: psql -U postgres -c "CREATE DATABASE sampledb;" psql -U postgres -d sampledb -f seed.sql
Kopiere .env.example zu .env und fülle deine eigenen Werte ein.
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
This server cannot be deployed
Maintenance
Related MCP Connectors
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Query PostgreSQL databases in plain English — LLM-generated, safety-validated SQL.
Deterministic safety, correctness & cost gate that vets Postgres SQL before your AI agent runs it.
- dataOAuthco.thinair
PostgreSQL, MySQL, and SQL Server in one session. 26 read-only MCP tools for AI agents.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables 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
- AlicenseNot gradedqualityDmaintenanceProvides 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 npmMIT
- FlicenseAqualityDmaintenanceEnables AI agents to inspect and query PostgreSQL databases safely, with features like listing tables, retrieving schemas, and running read-only SQL queries.3-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to safely interact with PostgreSQL databases, perform queries, inspect schemas, and analyze query performance.2-