Postgres MCP logo

Postgres MCP

Unclaimed

by YawLabs

Read-only-by-default MCP server for PostgreSQL. Query, introspect schemas, explain plans, health checks.

Set up this server

01 / Choose your client

02 / Before you connect

Authentication is not specified. Check the project instructions before connecting.

Install the runtime required by the project and make it available to your client.

Project instructions

Use names from the project instructions, separated by commas. Enter names only, never secret values.

03 / Add the configuration

Source: generated from public install instructions

claude mcp add --transport stdio 'yawlabs-postgres-mcp' -- 'npx' '-y' '@yawlabs/postgres-mcp@latest'

Run in your terminal after replacing any placeholders.

04 / Check it in your client

Open your client’s MCP settings and confirm the server connects and lists its tools. A copied configuration does not confirm a working connection.

More in Databases

Browse the full directory

Unclaimed listing

Is this your MCP server?

This listing was auto-indexed from the public record. Claim it to edit the page, set compatibility and unlock growth tools. Takes under two minutes.

Claim this server

Security profile

Claimed and verified servers get a weekly static scan that shows what the code can reach: external services, environment variables, shell commands, agent configuration folders, plus any dependencies with known advisories. Claim this listing to get one. How the security profile works

23 of 23 tools

Documented tools (23)

From project documentation. A server handshake does not verify each tool’s description or behavior.

pg_advisor

Rolled-up DBA lints in one call: sequence-exhaustion candidates, wraparound risk for both counters (per-database and per-table age(relfrozenxid) against autovacuumfreezemaxage, and mxidage(relminmxid) against autovacuummultixactfreezemaxage -- a lock-heavy workload can exhaust multixacts while xids

pg_describe_table

Kind, columns, PK, outgoing FKs, incoming FKs (referencedby), CHECK / UNIQUE / EXCLUDE constraints, indexes, and partition parent/children for a relation. Generated and identity columns are flagged (generated, identity, generationexpression) so an agent doesn't try to write to them. Constraints carr

pg_explain

EXPLAIN or EXPLAIN ANALYZE for a SQL statement. Text or JSON output. Planner options: buffers (on by default with analyze), settings, verbose, wal, costs, timing, plus genericplan (PG16+, plan a parameterized query with no values) and memory / serialize (PG17+). Optional hypotheticalindexes (require

pg_health

Server version, database size, connections against maxconnections, active queries with wait events and transaction age, pgstatdatabase rollup (deadlocks, temp files, cache hit ratio), table count.

pg_index_advisor

Recommend indexes for a workload and prove each one pays for itself first. Takes statements you pass or the top N from pgstatstatements, harvests candidate columns from what the planner reports as filters / join keys / sort keys (no SQL parser - every token is intersected with the real pgattribute c

pg_inspect_locks

Who is blocking whom right now (blocked PID, blocker PID, lock type, queries).

pg_io_stats

I/O observability: pgstatio read/write/extend/fsync counts, bytes and times per backend type and context (PG16+), plus in-flight async I/O handles from pgaios and the active iomethod (PG18+).

pg_kill

Cancel a running query or terminate a backend connection. Requires ALLOWWRITES=1.

pg_list_extensions

List installed extensions (pgvector, postgis, pgstatstatements, etc.) with versions.

pg_list_functions

List functions, procedures, and aggregates in a schema with signatures and return types.

pg_list_roles

Database roles with login/superuser/createdb flags and group memberships.

pg_list_schemas

List non-system schemas.

pg_list_tables

List tables (and optionally views) in a schema with estimated row counts. Paginated via limit/offset.

pg_list_views

List views and materialized views in a schema, including their SQL definitions.

pg_query

Run a SQL query. Writes gated by the role in DATABASEURL first, ALLOWWRITES second. Supports parameterized queries via params. Result fields include dataTypeName (e.g. int4, jsonb) alongside dataTypeID.

pg_readonly

Run a SQL statement with no persistent data changes - always inside BEGIN READ ONLY, regardless of ALLOWWRITES. The recommended tool for read access, and the one to auto-allow; pair it with a least-privileged role (why).

pg_replication_status

Replication slots, connected replicas, and current WAL position.

pg_search_columns

Find columns by name pattern across all user schemas. Case-insensitive, supports SQL LIKE wildcards.

pg_seq_scan_tables

Tables with heavy sequential scans - missing-index candidates. Returns the statsreset window alongside the rows, since the counters mean nothing without it. lastseqscan / lastidxscan on PG16+.

pg_table_bloat

Tables with high dead-tuple ratios - VACUUM candidates.

pg_table_privileges

Who has SELECT/INSERT/UPDATE/DELETE/etc. on a table or whole schema.

pg_top_queries

Top N queries by total/mean execution time. Requires the pgstatstatements extension. Returns statsreset (from pgstatstatementsinfo, a different clock from the other stats tools) and dealloc on extension 1.9+ - a non-zero dealloc means entries were evicted past pgstatstatements.max, so the ranking is

pg_unused_indexes

Non-unique, non-primary indexes with low scan counts - drop candidates. Also returns statsreset: a recently reset counter makes every index look unused, which is how a load-bearing index gets dropped. lastidxscan on PG16+.

Tool change history

Compared across complete checks of the same configuration. Tools were listed, not invoked. Input-schema changes are not measured here.

No complete tool checks yet.

FAQ

Questions about Postgres MCP Server

How do I connect Postgres MCP Server to Claude?
Run `claude mcp add yawlabs-postgres-mcp -- npx -y @yawlabs/postgres-mcp@latest` in Claude Code, or add the same command and arguments under mcpServers in Cursor's mcp.json or Claude Desktop's claude_desktop_config.json, then restart the client. The blocks above are ready to paste.
Is Postgres MCP Server free?
The listed licence is MIT. Check the upstream terms for permitted use and commercial requirements; a public repository does not by itself mean the software is free or open source. Connected APIs and hosted services may have separate charges.
What can Postgres MCP Server do?
Postgres MCP Server documents 23 tools to the agent, including pg_advisor, pg_describe_table, pg_explain. The descriptions above come from project documentation. A live handshake does not test individual tool behavior.