postgres-mcp
Provides tools for interacting with PostgreSQL databases, including schema exploration, safe SQL execution, EXPLAIN, health checks, and index recommendations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@postgres-mcpshow me the tables in the staging database"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
postgres-mcp
Multi-DB Postgres MCP Server für Cursor / andere MCP-Clients.
Unterstützt Schema-Exploration, sicheres SQL, EXPLAIN, Health-Checks und Index-Empfehlungen.
Voraussetzungen
Node.js 22+
Postgres-Zugang (Connection-URI)
Optional: Docker
Empfohlene Postgres-Extensions (für Slow-Queries / Index-Tuning):
CREATE EXTENSION IF NOT EXISTS pg_stat_statements;
CREATE EXTENSION IF NOT EXISTS hypopg;pg_stat_statements muss zusätzlich in shared_preload_libraries aktiv sein und Postgres neu gestartet werden.
Related MCP server: postgres-mcp
Schnellstart (lokal)
npm install
npm run buildEine DB:
DATABASE_URL='postgresql://user:pass@host:5432/dbname' \
ACCESS_MODE=restricted \
npm startMehrere DBs:
DB_STAGING_URL='postgresql://user:pass@host:5432/staging' \
DB_PROD_URL='postgresql://user:pass@host:5432/prod' \
DEFAULT_DB=staging \
ACCESS_MODE=restricted \
npm startHTTP-Transport (für Docker / Remote):
npm run start:http
# -> http://0.0.0.0:8000/mcp
# Health: http://0.0.0.0:8000/healthKonfiguration
Datenbanken
Variable | Beschreibung |
| Einzelne DB (Alias |
| Multi-DB, z. B. |
| Alternativ: |
| Default-Alias, wenn mehrere DBs konfiguriert sind |
Tools akzeptieren optional db (Alias aus list_databases). Ohne Angabe wird DEFAULT_DB verwendet.
Access Mode
Wert | Bedeutung |
| Read/Write (Default, für Dev) |
| Read-only, 30s Statement-Timeout, kein |
Setzen über Env oder CLI:
ACCESS_MODE=restricted
# oder
node dist/index.js --access-mode=restrictedTransport
Variable / Flag | Default | Beschreibung |
|
|
|
|
| HTTP Bind-Adresse (nicht |
|
| HTTP Port |
Cursor einbinden
Stdio (lokal)
In Cursor MCP Settings / mcp.json:
{
"mcpServers": {
"postgres": {
"command": "node",
"args": [
"/ABSOLUTER/PFAD/postgres-mcp/dist/index.js",
"--access-mode=restricted"
],
"env": {
"DB_STAGING_URL": "postgresql://user:pass@host:5432/staging",
"DB_PROD_URL": "postgresql://user:pass@host:5432/prod",
"DEFAULT_DB": "staging"
}
}
}
}Vorher einmal npm run build ausführen.
HTTP (Docker / Remote)
{
"mcpServers": {
"postgres": {
"url": "http://localhost:8000/mcp"
}
}
}Docker
Build:
docker build -t postgres-mcp .Run:
docker run --rm -p 8000:8000 \
-e ACCESS_MODE=restricted \
-e DEFAULT_DB=staging \
-e DB_STAGING_URL='postgresql://user:pass@host:5432/staging' \
-e DB_PROD_URL='postgresql://user:pass@host:5432/prod' \
postgres-mcpEndpoints:
MCP:
http://localhost:8000/mcpHealth:
http://localhost:8000/health
Hinweis: Wenn Postgres auf dem Host läuft, localhost in der URI je nach OS durch host.docker.internal ersetzen.
Tools
Tool | Zweck |
| Konfigurierte DB-Aliase anzeigen |
| Schemas listen |
| Tables / Views / Sequences / Extensions |
| Spalten + Indexes eines Objekts |
| SQL ausführen (max. 50 Rows default) |
| EXPLAIN / EXPLAIN ANALYZE / hypopg |
| Slow Queries ( |
| Index-Empfehlungen aus Workload |
| Index-Empfehlungen für konkrete Queries |
| Health: index, connection, vacuum, sequence, replication, buffer, constraint, all |
Typischer KI-Flow:
list_databaseslist_schemas/list_objectsget_object_detailsexecute_sqlmitdb: "staging"
Tests
Read-only Integrationstests gegen eine echte DB:
export TEST_DATABASE_URL='postgresql://user:pass@host:5432/dbname'
npm testDie Tests laufen im restricted-Mode und prüfen alle Tools inkl. Multi-DB und Error-Cases.
Vorlage: .env.test.example
Entwicklung
npm install
npm run build
npm start
npm run start:http
npm testBuild-Output liegt in dist/.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityDmaintenanceMCP server with 14 tools for PostgreSQL database operations. Query databases, explore schemas, analyze tables, with SQL injection prevention and read-only mode by default.Last updated1410MIT
- AlicenseAqualityDmaintenanceA Postgres MCP server with index tuning, explain plans, health checks, and safe sql execution.Last updated10MIT
- AlicenseAqualityCmaintenanceA Postgres MCP server with index tuning, explain plans, health checks, and safe SQL execution.Last updated9MIT
- AlicenseAqualityCmaintenanceFull-featured MCP server that exposes 36 tools for interacting with PostgreSQL databases, covering schema introspection, query execution, data exploration, performance monitoring, security auditing, and maintenance.Last updated3614MIT
Related MCP Connectors
MCP server for managing Prisma Postgres.
MCP server for interacting with the Supabase platform
Comprehensive PostgreSQL documentation and best practices, including ecosystem tools
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Leon-Achteresch/postgres-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server