mcp-postgres
mcp-postgres
MCP-Server für PostgreSQL. Bietet KI-Agenten Schema-Intelligenz, Abfrageausführung und DBA-Tools – über das Model Context Protocol.
Im Gegensatz zu generischen Datenbank-MCP-Servern ist mcp-postgres nativ für Postgres entwickelt. Es extrahiert Tabellen-/Spaltenkommentare, versteht Postgres-spezifische Katalogansichten, bietet Indexanalysen und wird mit konfigurierbaren Zugriffsebenen geliefert, damit Sie einer KI keinen uneingeschränkten Datenbankzugriff gewähren müssen.
Funktionen
Schema-Intelligenz
Auflisten von Schemas, Tabellen und Ansichten mit Größen und Zeilenanzahlen
Vollständige Tabellenbeschreibungen: Spalten, Typen, Constraints, Indizes, Fremdschlüssel
Extrahiert
COMMENT ON-Metadaten – gibt der KI semantischen Kontext darüber, was Spalten bedeutenSuche nach Objekten anhand von Namen oder Kommentaren in der gesamten Datenbank
Abfrageausführung
Schreibgeschütztes
query-Tool mit automatischer ZeilenbegrenzungSchreibfähiges
execute-Tool, das durch Zugriffsebenen gesteuert wirdEXPLAIN ANALYZEmit menschenlesbarer Ausgabe
DBA-Tools
Tabellenstatistiken: Live/Dead-Tupel, Bloat-Prozentsatz, Vacuum-Historie, Scan-Muster
Indexanalyse: Nutzungsstatistiken, Erkennung ungenutzter Indizes, Vorschläge für fehlende Indizes
Datenbankgesundheit: Verbindungen, Cache-Trefferquote, lang laufende Abfragen, Durchsatz
Sicherheit
Vier Zugriffsebenen:
readonly,readwrite,admin,unrestrictedKlassifizierung von SQL-Anweisungen (SELECT, DML, DDL, admin) mit Durchsetzung
Audit-Logging nach stderr (JSON, ein Eintrag pro Abfrage)
Related MCP server: Postgres Scout MCP
Schnellstart
npx mcp-postgres --connection-string "postgres://user:pass@localhost:5432/mydb"Oder mit Umgebungsvariablen:
DATABASE_URL="postgres://user:pass@localhost:5432/mydb" npx mcp-postgresClaude Desktop
Fügen Sie dies zu Ihrer claude_desktop_config.json hinzu:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": [
"-y",
"mcp-postgres",
"--connection-string",
"postgres://user:pass@localhost:5432/mydb"
]
}
}
}Claude Code
Fügen Sie dies zu der .mcp.json Ihres Projekts hinzu:
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["-y", "mcp-postgres"],
"env": {
"DATABASE_URL": "postgres://user:pass@localhost:5432/mydb"
}
}
}
}Tools
Tool | Beschreibung | Zugriff |
| Schemas mit Tabellenanzahl und Größen auflisten | readonly |
| Tabellen mit Kommentaren, Zeilenanzahl und Größen auflisten | readonly |
| Vollständige Tabellenbeschreibung mit Spalten, Indizes, FKs, Kommentaren | readonly |
| Objekte nach Name oder Kommentar suchen | readonly |
| SELECT-Abfragen ausführen | readonly |
| INSERT/UPDATE/DELETE/CREATE/etc. ausführen | variiert |
| EXPLAIN (ANALYZE) mit lesbarer Ausgabe | readonly* |
| Tabellenstatistiken, Bloat, Vacuum-Info | readonly |
| Indexnutzung, ungenutzte Indizes, Hinweise auf fehlende Indizes | readonly |
| Verbindungen, Cache-Verhältnis, lange Abfragen, Bloat | readonly |
*explain_query mit analyze=true führt die Abfrage aus und respektiert daher die Zugriffsebene der Anweisung.
Ressourcen
URI | Beschreibung |
| Vollständiges DDL für ein Schema (CREATE TABLE-Anweisungen mit Kommentaren) |
| Installierte PostgreSQL-Erweiterungen |
Prompts
Prompt | Beschreibung |
| Geführte Datenbankerkundung – Schemas, Tabellen, Beziehungen |
| Analyse einer langsamen Abfrage mit EXPLAIN, Indizes und Empfehlungen |
| Umfassende Bewertung der Datenbankgesundheit |
Konfiguration
CLI-Optionen
--connection-string PostgreSQL connection URL
--access-level readonly|readwrite|admin|unrestricted (default: readonly)
--row-limit Max rows returned per query (default: 500)
--schema Default schema filter (default: public)
--audit Enable query audit logging to stderrUmgebungsvariablen
Variable | Beschreibung |
| PostgreSQL-Verbindungs-URL |
| Alternative Verbindungs-URL |
| Überschreibung der Zugriffsebene |
| Überschreibung der Zeilenbegrenzung |
Zugriffsebenen
Ebene | SELECT | INSERT/UPDATE/DELETE | CREATE/ALTER/DROP | TRUNCATE/DROP DATABASE |
| ja | nein | nein | nein |
| ja | ja | nein | nein |
| ja | ja | ja | nein |
| ja | ja | ja | ja |
Standard ist readonly. Verwenden Sie die minimal erforderliche Ebene.
Audit-Logging
Aktivieren mit --audit. Protokolliert jeden Tool-Aufruf in stderr als JSON:
{"timestamp":"2026-04-03T12:00:00.000Z","tool":"query","sql":"SELECT * FROM users","statementType":"select","accessLevel":"readonly","allowed":true,"durationMs":12,"rowCount":42}Leiten Sie stderr in eine Datei um, um sie zu erfassen: mcp-postgres --audit 2>audit.log
Architektur
src/
├── index.ts Entry point and CLI
├── server.ts MCP server setup
├── config.ts Configuration parsing
├── db/
│ ├── pool.ts Connection pool management
│ └── query.ts Query execution with timing
├── tools/
│ ├── schema.ts Schema exploration tools
│ ├── query.ts Query execution tools
│ └── performance.ts DBA and health tools
├── resources/
│ └── schema.ts Schema DDL resources
├── prompts/
│ └── index.ts Prompt templates
└── safety/
├── classifier.ts SQL statement classification
├── access.ts Access level enforcement
└── audit.ts Audit loggingEntwicklung
npm install
npm test # run tests
npm run build # compile TypeScript
npm run dev -- --connection-string "postgres://..." # run in dev modeLizenz
MIT
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.
PostgreSQL, MySQL, OpenAPI/Swagger, and shared Agent Memory with scoped access.
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceEnables secure, AI-driven PostgreSQL database administration, observability, and querying with support for extensions like PostGIS and pgvector, connection pooling, and advanced tool filtering.72 npm12MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to safely explore, analyze, and maintain PostgreSQL databases with read-only mode by default, SQL injection prevention, query performance analysis, and optional write operations.52 npmApache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to safely interact with PostgreSQL databases, perform queries, inspect schemas, and analyze query performance.2-
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to securely interact with PostgreSQL databases, offering 30+ tools, role-based access control, and security guardrails.2MIT