Query and inspect PostgreSQL databases via natural language.
- Home
- Top MCPs for Databases
- Postgres MCP Pro
Postgres MCP Pro
Production-grade Postgres MCP with index advice, EXPLAIN, and health checks.
Quick answer
What it does
Connects to a PostgreSQL database and exposes query execution, EXPLAIN plan analysis, index advice, schema health checks, and optional write tools behind an explicit safe-mode flag.
Best for
- Query performance tuning
- Index recommendations
- Schema health audits
- Guarded write workflows
Not for
- Pure read-only schema exploration (use the official Postgres MCP)
- Non-Postgres databases
Setup recipe
Pick your client, then follow the three steps.
- 1
Install
claude_desktop_config.jsonjson{ "mcpServers": { "postgres-mcp-pro": { "command": "uvx", "args": [ "postgres-mcp" ], "env": { "DATABASE_URI": "${DATABASE_URI}" } } } }Paste under mcpServers. Fully quit and reopen Claude after editing.
CLI or .mcp.jsonshell# export DATABASE_URI=postgresql://user:pass@localhost/db claude mcp add postgres-mcp-pro -- uvx postgres-mcpRun from your repo. Commit .mcp.json to share with your team.
.cursor/mcp.jsonjson{ "mcpServers": { "postgres-mcp-pro": { "command": "uvx", "args": [ "postgres-mcp" ], "env": { "DATABASE_URI": "${DATABASE_URI}" } } } }Global path: ~/.cursor/mcp.json. Reload window after editing.
.vscode/mcp.jsonjsonc{ "servers": { "postgres-mcp-pro": { "command": "uvx", "args": [ "postgres-mcp" ], "env": { "DATABASE_URI": "${DATABASE_URI}" } } } }VS Code uses the "servers" key (not "mcpServers").
~/.codeium/windsurf/mcp_config.jsonjson{ "mcpServers": { "postgres-mcp-pro": { "command": "uvx", "args": [ "postgres-mcp" ], "env": { "DATABASE_URI": "${DATABASE_URI}" } } } }Open via Cascade → hammer icon → Configure.
cline_mcp_settings.jsonjson{ "mcpServers": { "postgres-mcp-pro": { "command": "uvx", "args": [ "postgres-mcp" ], "env": { "DATABASE_URI": "${DATABASE_URI}" } } } }Open via the Cline sidebar → MCP Servers → Edit.
~/.continue/config.jsonjson{ "experimental": { "modelContextProtocolServers": [ { "transport": { "type": "stdio", "command": "uvx", "args": [ "postgres-mcp" ], "env": { "DATABASE_URI": "${DATABASE_URI}" } } } ] } }Continue uses modelContextProtocolServers with a transport block.
~/.codex/config.tomlshell# ~/.codex/config.toml [mcp_servers.postgres-mcp-pro] command = "uvx" args = [ "postgres-mcp", ] env = { DATABASE_URI = "${DATABASE_URI}" }Codex uses TOML. Each server is a [mcp_servers.<name>] subtable.
~/.config/zed/settings.jsonjsonc{ "context_servers": { "postgres-mcp-pro": { "command": { "path": "uvx", "args": [ "postgres-mcp" ] }, "env": { "DATABASE_URI": "${DATABASE_URI}" } } } }Zed calls them "context_servers". Settings live-reload on save.
ChatGPT → Apps directorynonePostgres MCP Pro doesn't ship a hosted HTTPS endpoint today. ChatGPT supports remote MCP servers only — to use this server in ChatGPT you'll need to deploy it to a public HTTPS URL first (e.g. via Cloudflare Workers or Vercel) or wait for an official remote build.
- 2
Set required secrets
Set
DATABASE_URIin your shell environment before launching your MCP client. - 3
Try a minimum working prompt
Diagnose a slow report query and suggest indexes
Using Postgres MCP Pro, take this query and explain why it is slow: SELECT ... FROM ... Then run analyze_workload on the related tables and recommend the top 3 indexes that would help, with estimated cost and benefit. Do not apply any index — just propose.Tested with: Claude Desktop, Claude Code, Cursor.
Tools & permissions
| Tool | Description | Args | Side effects |
|---|---|---|---|
execute_sql | Run a SQL statement; behaviour depends on safe-mode and role privileges. | sql: string | Read |
explain_query | Return the query plan with cost estimates. | sql: string | Read |
analyze_workload | Surface slow queries and index opportunities from pg_stat_statements. | — | Read |
recommend_indexes | Suggest indexes for a given query or table workload, with estimated cost and benefit. | sql?: string | Read |
check_health | Run a schema-wide health check (bloat, missing PKs, duplicate indexes, replication lag). | — | Read |
Security & scope
- Access scope
- Read + write
- Sandbox
- Connects to a Postgres database via the connection string in DATABASE_URI. Write tools are guarded by a safe-mode flag — when disabled, the server only exposes read-and-EXPLAIN capabilities. Database-level role permissions are the final guard regardless of MCP-side toggles.
- Gotchas
- Safe-mode is a server-side flag, not a database-level constraint — pair it with a read-only DB role for defence-in-depth.
- EXPLAIN ANALYZE actually executes queries to gather timing data; on production, prefer plain EXPLAIN or run against a snapshot.
Agent prompt pack
— copy into Claude, Cursor, or ChatGPT.Recommend the best MCP servers for [task: e.g. databases work] in [client: Claude]. Constraints: - Prefer tools that are [official | open-source | read-only] — pick what matters for my use case. - Exclude MCPs that require [e.g. a paid plan, OAuth-only flows, remote-only transport]. - Return at most 3 picks, ranked. For each pick include: 1. One-sentence rationale. 2. The ready-to-paste install snippet for my client. 3. Any required secrets I need to create before installing. Cross-check the top-mcps.com listing: https://top-mcps.com/top-mcps-for-databases
Compare Postgres MCP Pro MCP vs [PostgreSQL MCP] for the following job: [describe the job, e.g. "let an agent create GitHub issues on bug triage"]. Judge them on: - Setup time and complexity (what a new user hits first). - Auth model (none / API key / OAuth 2.1) and credential risk. - Transport (stdio / Streamable HTTP / SSE) and where the server runs. - Required secrets and the blast radius if they leak. - Operational risk in an unattended agent loop. - Which one is "good enough" for a weekend prototype vs. production. End with one sentence: which should I pick for my scenario, which is: [my scenario]. References: - https://top-mcps.com/mcp/postgres-mcp-pro - top-mcps.com listing for PostgreSQL
Install the Postgres MCP Pro MCP server for my [client: Claude] at the default config path for that client. Use the exact install snippet published at https://top-mcps.com/mcp/postgres-mcp-pro (fetch https://top-mcps.com/mcp/postgres-mcp-pro.json for the canonical server.json if you can read URLs). Before finishing: 1. Create the required secrets (DATABASE_URI) and put them in the appropriate env block — do not hard-code them. 2. Restart or reload the client so it picks up the new server. 3. Verify the server is connected (green / running state) and at least one tool is listed. 4. If anything fails, read the client's MCP logs and report the exact error — do not silently retry. Confirm when done and list the tools the server now exposes.
Frequently asked questions
What changed
— 2 updates tracked.Refreshed install snippets and fact sheet; verified for 2026.
Initial directory listing.
More Databases MCPs
Other tools in the same category worth evaluating.
Compared with Postgres MCP Pro
Side-by-side breakdowns for the choices people most often weigh against this MCP.
Exploring Top MCPs for Databases? See all Databases MCPs →
