MCP-Server für PostgreSQL
Eine Model Context Protocol (MCP)-Serverimplementierung für PostgreSQL, die eine einfache Schnittstelle zur Interaktion mit PostgreSQL-Datenbanken über MCP bietet.
Merkmale
Ausführen von SQL-Abfragen mit parametrisierten Eingaben
Ausführen von INSERT/UPDATE/DELETE-Operationen
Neue Datenbanken erstellen
Erstellen oder Aktualisieren von Tabellenschemata
Debuggen von PostgreSQL-Verbindungen
Containerisiert mit Docker für einfache Bereitstellung
Umgebungsbasierte Konfiguration
Related MCP server: PostgreSQL MCP Server
Voraussetzungen
Python 3.8+
PostgreSQL 10+
Docker (optional, für containerisierte Bereitstellung)
Docker Compose (optional, für die Entwicklung)
Installation
Docker verwenden (empfohlen)
Klonen Sie das Repository:
git clone https://github.com/asadudin/mcp-server-postgres.git cd mcp-server-postgresKopieren Sie die Beispielumgebungsdatei:
cp .env.example .envAktualisieren Sie die
.envDatei mit Ihren PostgreSQL-Anmeldeinformationen:PG_HOST=postgres PG_PORT=5432 PG_USER=postgres PG_PASSWORD=your_password PG_DATABASE=your_database HOST=0.0.0.0 PORT=8056Starten Sie den Dienst mit Docker Compose:
docker-compose up -d
Manuelle Installation
Klonen Sie das Repository:
git clone https://github.com/asadudin/mcp-server-postgres.git cd mcp-server-postgresErstellen und aktivieren Sie eine virtuelle Umgebung:
python -m venv venv source venv/bin/activate # On Windows: .\venv\Scripts\activateInstallieren Sie Abhängigkeiten:
pip install -r requirements.txtKopieren Sie die Beispielumgebungsdatei und aktualisieren Sie sie:
cp .env.example .env # Edit .env with your configurationFühren Sie den Server aus:
python mcp_server_postgres.py
Verwendung
Der MCP-Server stellt die folgenden Endpunkte bereit:
sql_query
Führen Sie eine SELECT-Abfrage aus und geben Sie die Ergebnisse als JSON zurück.
Parameter:
query: SQL-Abfragezeichenfolgeparams: Optionaler JSON-String mit Abfrageparametern (Liste oder Wörterbuch)
Beispiel:
sql_execute
Führen Sie eine INSERT/UPDATE/DELETE-Anweisung aus.
Parameter:
query: SQL-Anweisungparams: Optionaler JSON-String mit Abfrageparametern (Liste oder Wörterbuch)
Beispiel:
create_database
Erstellen Sie eine neue PostgreSQL-Datenbank.
Parameter:
database_name: Name der zu erstellenden Datenbank
create_or_update_table
Erstellen oder aktualisieren Sie ein Tabellenschema.
Parameter:
sql: CREATE TABLE- oder ALTER TABLE-SQL-Anweisung
debug_postgres_connection
Debuggen Sie die PostgreSQL-Verbindung.
Umgebungsvariablen
Variable | Standard | Beschreibung |
PG_HOST | lokaler Host | PostgreSQL-Host |
PG_PORT | 5432 | PostgreSQL-Port |
PG_USER | Postgres | PostgreSQL-Benutzername |
PG_PASSWORD | PostgreSQL-Passwort | |
PG_DATABASE | Postgres | Standarddatenbankname |
GASTGEBER | 0.0.0.0 | Host, an den der MCP-Server gebunden werden soll |
HAFEN | 8056 | Port, auf dem der MCP-Server ausgeführt wird |
Entwicklung
Ausführen von Tests
Erstellen des Docker-Images
API-Dokumentation
Eine ausführliche API-Dokumentation finden Sie in der OpenAPI-Spezifikation .
Beitragen
Beiträge sind willkommen! Senden Sie gerne einen Pull Request.
Lizenz
Dieses Projekt ist unter der MIT-Lizenz lizenziert – Einzelheiten finden Sie in der Datei LICENSE .