Postgres MCP Server
Provides tools for querying, describing, listing tables, schemas, constraints, indexes, views, functions, explaining queries, and getting table statistics for PostgreSQL databases.
Click on "Deploy 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 MCP Server show me all tables in the public schema"
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 Server
A Model Context Protocol (MCP) server that provides secure database access to PostgreSQL through Kysely ORM. This server enables Claude Desktop to interact with PostgreSQL databases using natural language.
Features
MCP Tools: Query execution, table listing, schema inspection, and constraint information
Type Safety: Full TypeScript support with typed inputs/outputs
Connection Pooling: Configurable connection limits with idle timeout
Error Handling: Graceful error messages for connection and query issues
Security: Parameterized queries to prevent SQL injection
Related MCP server: PostgreSQL MCP Server
Installation
npx postgres-mcp-serverConfiguration
Create a .env file with your database credentials:
DB_HOST=127.0.0.1
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=your_password_here
DB_NAME=postgres
DB_SSL=trueAvailable Tools
Tool | Description | Required Parameters | Optional Parameters |
| Execute SQL queries with pagination support |
|
|
| Get table structure and column details |
| - |
| List all tables in a schema |
| - |
| List all schemas in the database | - |
|
| Get table constraints (PK, FK, etc.) |
| - |
| List indexes for a table or schema |
|
|
| List views in a schema |
| - |
| List functions and procedures |
| - |
| Get query execution plan |
|
|
| Get table size and statistics |
|
|
Key Features
Pagination: Query tool supports up to 500 rows per page with automatic LIMIT/OFFSET handling
Security: Parameterized queries prevent SQL injection, READ_ONLY mode by default
Type Safety: Full TypeScript support with Zod schema validation
Claude Desktop Configuration
Add this server to your Claude Desktop configuration file:
Edit claude_desktop_config.json:
{
"mcpServers": {
"postgres-mcp-server": {
"command": "npx",
"args": ["postgres-mcp-server"],
"env": {
"DB_HOST": "127.0.0.1",
"DB_PORT": "5432",
"DB_USER": "postgres",
"DB_PASSWORD": "your_password_here",
"DB_NAME": "your_database_name",
"DB_SSL": "true"
}
}
}
}Configuration File Locations
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
Development
# Clone and install dependencies
git clone https://github.com/bonboncinnabon/postgres-mcp.git
cd postgres-mcp-server
npm install
# Run in development mode with hot reload
npm run dev
# Build for production
npm run build
# Run tests
npm run test
# Run specific test suites
npm run test:unit
npm run test:integrationEnvironment Variables
Variable | Default | Description |
|
| PostgreSQL host |
|
| PostgreSQL port |
|
| Database user |
| required | Database password |
|
| Database name |
|
| Enable SSL connection |
|
| Restrict to SELECT/WITH/EXPLAIN queries |
|
| Query timeout in milliseconds |
|
| Maximum rows per page |
|
| Default page size when not specified |
License
ISC
Available Tools
10 toolsdescribe_tableB
Get table structure including columns, constraints, and size statistics
Inputs: table (required), schema (required).
diagnose_databaseC
Composite database health check: cache, connections, vacuum, indexes, sequences
Inputs: include_queries, include_connections.
explain_queryC
Get query execution plan (EXPLAIN)
Inputs: sql (required), costs, format, analyze, +1 more.
get_connectionsB
Show active database connections, utilization, and idle-in-transaction warnings
Inputs: group_by, include_queries.
get_slow_queriesC
Analyze slow queries via pg_stat_statements with filtering and sorting
Inputs: limit, sort_by, min_calls, min_duration_ms, +1 more.
list_indexesC
List indexes for a table or schema
Inputs: schema (required), table.
list_objectsB
List tables, views, or functions in a schema
Inputs: type (required), schema.
list_schemasC
List all schemas in the database
Inputs: includeSystemSchemas.
queryC
Execute SQL with pagination and parameterization
Inputs: sql (required), offset, pageSize, parameters.
search_objectsB
Find tables, columns, functions, views by name pattern across schemas
Inputs: pattern (required), limit, schemas, object_types.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 10 tools
Most tools have distinct purposes (describe_table for structure, list_schemas/list_indexes for enumeration, query for execution, and diagnostic tools). Minor overlap exists: list_objects and search_objects both enumerate objects (one by schema, one by pattern), and diagnose_database overlaps in scope with get_connections and get_slow_queries. Descriptions are clear enough to guide selection.
Nearly all tools follow a clean verb_noun pattern (describe_table, list_schemas, list_indexes, explain_query, search_objects, get_connections, get_slow_queries, list_objects), with diagnose_database fitting the same shape. The lone outlier is 'query', a bare verb that breaks the convention.
Ten tools is well-scoped for a Postgres introspection/diagnostics server, with each tool covering a distinct area of database exploration and execution. No redundancy that would bloat the surface.
Good coverage of introspection (schemas, tables, indexes, objects), query execution, and health diagnostics for a read/diagnostic-oriented server. Writes are handled via the generic query tool, but there is no explicit transaction or schema-modification surface, a minor gap agents can work around.
Related MCP Connectors
Hosted PostgreSQL MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Text-to-SQL MCP server: read-only queries on PostgreSQL, MySQL and SQL Server with your real schema
Hosted SQL Server MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Query your Postgres from ChatGPT or Claude without exposing the database or handing over credentials. Run npx boltschema connect next to your database and it dials out over HTTPS — no inbound firewall rule, no open port, works with localhost and VPC-private databases. Read-only is enforced by a SQL guard, a Postgres READ ONLY transaction, and a scoped role generated for you.
Related MCP Servers
- AlicenseDqualityDmaintenanceA secure Model Context Protocol server that allows Claude to execute read-only SQL queries against a PostgreSQL database, enabling natural language interaction with database data.1ISC
- AlicenseBqualityDmaintenanceA TypeScript-based Model Context Protocol server that enables AI assistants to perform secure database operations on PostgreSQL databases through structured tool interfaces.822 npmMIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) Server that allows AI models to securely interact with data hosted in Azure Database for PostgreSQL. It enables natural language querying, schema exploration, and data management through MCP clients like Claude Desktop and Visual Studio Code.MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides secure, role-based access to PostgreSQL databases for AI agents.MIT