PostgreSQL MCP Server
Überblick
Beschreibung vom Entwickler (englisches Original)
Python MCP server for PostgreSQL database inspection and querying
Die drei Säulen von PopNx MCP
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
- Stimmen der NutzeriNoch keine BewertungenBewertungen starten in einem späteren Schritt zusammen mit Benutzerkonten
- Unsere Basischecksi1 von 1 bestandenAnhand öffentlicher Informationen geprüft; Code noch nicht gescannt
- NutzungiGanz neu↓ 38/Wo. · ★ –
Was du damit machen kannst
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
- Verbindung: Läuft auf deinem Computer
- Transport: stdio
- Kategorie: Datenbanken & Datensätze
- Das musst du eintragen: POSTGRES_HOST, POSTGRES_PORT, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB
Installation
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Bevor du installierst
- Basischecks: 1 von 1 bestanden
- Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
- Das trägst du selbst ein:
POSTGRES_HOST,POSTGRES_PORT,POSTGRES_USER,POSTGRES_PASSWORD,POSTGRES_DB,POSTGRES_READ_QUERY_LIMIT
Als geheim markierte Werte sind Schlüssel zu deinem Konto. Gib sie nie weiter und füge sie nie in einen Chat ein.
Du brauchst
- PyPIuv für Python installiert (für den Befehl uvx)
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"postgresql": {
"command": "uvx",
"args": [
"mdev-postgresql-mcp-server"
],
"env": {
"POSTGRES_HOST": "your-value",
"POSTGRES_PORT": "your-value",
"POSTGRES_USER": "your-value",
"POSTGRES_PASSWORD": "your-value",
"POSTGRES_DB": "your-value",
"POSTGRES_READ_QUERY_LIMIT": "your-value"
}
}
}
}Führe das in deinem Terminal aus
claude mcp add postgresql --env POSTGRES_HOST=your-value --env POSTGRES_PORT=your-value --env POSTGRES_USER=your-value --env POSTGRES_PASSWORD=your-value --env POSTGRES_DB=your-value --env POSTGRES_READ_QUERY_LIMIT=your-value -- uvx mdev-postgresql-mcp-serverTrag die leeren Werte ein, bevor du ihn startest.
Oder kopier die Einstellungen selbst
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"postgresql": {
"command": "uvx",
"args": [
"mdev-postgresql-mcp-server"
],
"env": {
"POSTGRES_HOST": "your-value",
"POSTGRES_PORT": "your-value",
"POSTGRES_USER": "your-value",
"POSTGRES_PASSWORD": "your-value",
"POSTGRES_DB": "your-value",
"POSTGRES_READ_QUERY_LIMIT": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Oder kopier die Einstellungen selbst
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"postgresql": {
"type": "stdio",
"command": "uvx",
"args": [
"mdev-postgresql-mcp-server"
],
"env": {
"POSTGRES_HOST": "your-value",
"POSTGRES_PORT": "your-value",
"POSTGRES_USER": "your-value",
"POSTGRES_PASSWORD": "your-value",
"POSTGRES_DB": "your-value",
"POSTGRES_READ_QUERY_LIMIT": "your-value"
}
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Werte, die du selbst einträgst
- PostgreSQL host
- PostgreSQL port
- PostgreSQL username
- PostgreSQL password
- PostgreSQL database name
POSTGRES_READ_QUERY_LIMITenvMaximum rows returned by read queries
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Was er kann
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Basischecksi
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
- ✓ Bestanden
Entwickler passt zum Repo
Der Registry-Name wurde mit dem GitHub-Konto musaddiq-dev bestätigt, dem das Repo gehört
- … Noch nicht geprüft
Wird noch gepflegt
Dieses Repo haben wir noch nicht von GitHub gelesen
- … Noch nicht geprüft
Hat eine Lizenz
Dieses Repo haben wir noch nicht von GitHub gelesen
- – Nicht zutreffend
Endpunkt antwortet
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
- – Nicht zutreffend
Anmeldung mit OAuth
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
- … Noch nicht geprüft
Keine versteckten Anweisungen in Tool-Beschreibungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Im Vergleich mit anderen in Datenbanken & Datensätzei
- Mehr Sterne als 0 % der anderen 1144 Server in dieser Kategorie
- Neuer in der Registry veröffentlicht als 12 % der anderen 1144 Server in dieser Kategorie
- Basischecks gleich gut wie oder besser als bei 100 % der anderen 1144 Server in dieser Kategorie
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Häufige Fragen
Ist PostgreSQL MCP Server sicher?
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Welche Schlüssel oder Codes braucht er?
Das musst du eintragen: POSTGRES_HOST, POSTGRES_PORT, POSTGRES_USER, POSTGRES_PASSWORD, POSTGRES_DB
Läuft er auf meinem Computer oder in der Cloud?
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Wird er noch gepflegt?
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (0.1.2) kam vor 6 Monaten in die Registry.
Welche Apps können ihn nutzen?
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
Was kann ich stattdessen nutzen?
In derselben Kategorie: Supabase, MongoDB MCP Server, Elasticsearch MCP Server
Alternativen
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
README vom Entwickler
README öffnen
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
PostgreSQL MCP Server
A Python Model Context Protocol (MCP) server for inspecting and querying PostgreSQL databases from MCP-compatible clients. It provides schema discovery, safe read-only query execution, query explanation, table previews, index analysis, relationship inspection, and PostgreSQL resources for table metadata.
Features
- List public tables and inspect table schemas
- Execute read-only SQL in a PostgreSQL read-only transaction
- Explain query plans without executing the target query directly
- Preview table rows with a fixed limit
- Inspect foreign-key relationships and indexes
- Expose passive MCP resources for table lists and schema details
Safety Model
postgresql_execute_read_query runs with PostgreSQL read-only transaction mode, caps returned rows by POSTGRES_READ_QUERY_LIMIT, and rolls back after execution. The server also includes postgresql_execute_write_query, which only accepts a single INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, or TRUNCATE statement and can modify data/schema if the connected database user has permission. Do not auto-approve write-capable tools in your MCP client. For public or shared use, run the server with a dedicated read-only PostgreSQL user.
Requirements
- Python 3.11+
- PostgreSQL database
- MCP-compatible client such as Claude Desktop, Cursor, VS Code, or another MCP host
Installation
When published to PyPI, install or run the server like a standard Python MCP package:
uvx mdev-postgresql-mcp-server
For local development from source:
git clone https://github.com/musaddiq-dev/postgresql-mcp-server.git
cd postgresql-mcp-server python -m venv .venv source .venv/bin/activate pip install -e .
Configuration
Copy the example environment file and update it with your database connection details.
cp .env.example .env
| Variable | Description | Required | Default |
|---|---|---|---|
POSTGRES_HOST | PostgreSQL host | Yes | localhost |
POSTGRES_PORT | PostgreSQL port | Yes | 5432 |
POSTGRES_USER | PostgreSQL username | Yes | None |
POSTGRES_PASSWORD | PostgreSQL password | No | None |
POSTGRES_DB | PostgreSQL database name | Yes | None |
LOG_LEVEL | Python logging level written to stderr | No | INFO |
POSTGRES_READ_QUERY_LIMIT | Maximum rows returned by read queries | No | 1000 |
Example read-only user:
CREATE USER mcp_readonly WITH PASSWORD 'change-me';
GRANT CONNECT ON DATABASE your_database TO mcp_readonly; GRANT USAGE ON SCHEMA public TO mcp_readonly; GRANT SELECT ON ALL TABLES IN SCHEMA public TO mcp_readonly; ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT ON TABLES TO mcp_readonly;
Running
mdev-postgresql-mcp-server
From a local checkout before PyPI publication, run:
python -m postgresql_mcp_server.server
MCP Client Configuration
For published installs, prefer uvx. MCP servers using stdio must write protocol messages only to stdout; this server writes logs to stderr through Python logging.
Claude Desktop / Cursor / Windsurf / Cline
Most MCP clients accept this mcpServers JSON shape:
{
"mcpServers": { "postgresql": { "command": "uvx", "args": ["mdev-postgresql-mcp-server"], "env": { "POSTGRES_HOST": "localhost", "POSTGRES_PORT": "5432", "POSTGRES_USER": "mcp_readonly", "POSTGRES_PASSWORD": "change-me", "POSTGRES_DB": "your_database" } } } }
For local development from this repository, use the installed console script path instead:
{
"mcpServers": { "postgresql": { "command": "/absolute/path/to/postgresql-mcp-server/.venv/bin/mdev-postgresql-mcp-server", "args": [], "env": { "POSTGRES_HOST": "localhost", "POSTGRES_PORT": "5432", "POSTGRES_USER": "mcp_readonly", "POSTGRES_PASSWORD": "change-me", "POSTGRES_DB": "your_database" } } } }
Claude Code CLI
claude mcp add postgresql \
--env POSTGRES_HOST=localhost \ --env POSTGRES_PORT=5432 \ --env POSTGRES_USER=mcp_readonly \ --env POSTGRES_PASSWORD=change-me \ --env POSTGRES_DB=your_database \ -- uvx mdev-postgresql-mcp-server
VS Code MCP
VS Code uses the same command/args/env model in its MCP configuration:
{
"servers": { "postgresql": { "type": "stdio", "command": "uvx", "args": ["mdev-postgresql-mcp-server"], "env": { "POSTGRES_HOST": "localhost", "POSTGRES_PORT": "5432", "POSTGRES_USER": "mcp_readonly", "POSTGRES_PASSWORD": "change-me", "POSTGRES_DB": "your_database" } } } }
Tools
| Tool | Purpose | Safety |
|---|---|---|
postgresql_list_tables | List public base tables | Read-only |
postgresql_describe_table | Show columns and metadata for a table | Read-only |
postgresql_execute_read_query | Run bounded SQL under read-only transaction mode | Read-only |
postgresql_execute_write_query | Run a single approved modifying SQL statement and commit | Destructive |
postgresql_explain_query | Return PostgreSQL EXPLAIN output for a single query | Read-only |
postgresql_get_database_summary | Return database version and table count | Read-only |
postgresql_get_relationships | Inspect foreign-key relationships | Read-only |
postgresql_analyze_indexes | Inspect indexes and sizes | Read-only |
postgresql_preview_table | Return up to 10 rows from a table | Read-only |
postgresql_search_sql_definitions | Search public SQL routines/functions | Read-only |
Resources
postgres://list_tablesreturns public table names.postgres://schema/{table_name}returns a generated schema statement for a table.
Smoke Check
Without a database, verify syntax with:
python -m py_compile src/postgresql_mcp_server/server.py
With a configured database, start the server and use your MCP client to call list_tables.
Distribution
This server is published through the standard Python MCP distribution path:
- PyPI package:
mdev-postgresql-mcp-server - MCP Registry name:
io.github.musaddiq-dev/postgresql-mcp-server - Runtime hint:
uvx - Transport:
stdio
The mcp-name marker at the top of this README is required for MCP Registry ownership verification. Users should prefer uvx mdev-postgresql-mcp-server in local MCP client configurations.
Security Notes
- Do not commit
.envor MCP client configs containing credentials. - Use least-privilege database users.
- Treat
execute_write_queryas destructive and require explicit user approval in your MCP client. - Review generated SQL before running write-capable tools.
License
MIT