mcp-server-postgres
Provides tools to interact with PostgreSQL databases, executing validated SQL queries, schema inspection, transaction management, and more.
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., "@mcp-server-postgresWhat are the top 5 products by revenue?"
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.
🚀 mcp-server-postgres
Production-Grade, Schema-Aware PostgreSQL Agent via Model Context Protocol (MCP)
mcp-server-postgres is an intelligent database isolation layer designed to bridge the gap between Large Language Models (LLMs) and production PostgreSQL clusters. Developed with a security-first, schema-aware architecture, it translates natural language requests into validated, optimized, and ACID-compliant SQL.
🏗️ Technical Architecture
graph TD
Client[MCP Client/LLM] -->|JSON-RPC| Server[MCP Server Hub]
Server -->|Validation| Guard[Security Guardrails]
Guard -->|AST/Pattern Scan| SQL[Validated SQL]
SQL -->|Execution| Pool[Connection Pool Manager]
Pool -->|Write Ops| Primary[Primary DB]
Pool -->|Read Ops| Replica[Read Replicas]
Pool -->|Auditing| Audit[Pino Structured Logs]Key Architectural Pillars
Zero-Trust Safety Pipeline: Multi-stage validation including "SELECT *" detection, mandatory schema qualification, and SQL injection prevention.
Intelligent Pagination: Transparent query wrapping to ensure result boundedness (Default: 100 rows) without performance degradation.
Dynamic Schema Introspection: Enables LLMs to resolve exact table relationships and indexes in real-time.
Isolation Layers: Implements strict Permission Tiers (
READ_ONLYtoADMIN) to maintain least-privilege principles.
Related MCP server: mcp-postgres
🔒 Security Guardrails (Non-Negotiable)
Rule-01: No Unbounded Writes: Rejects any
UPDATEorDELETEmissing an explicitWHEREclause.Rule-04: DDL Confirmation: High-risk schema mutations require a two-step tokenized confirmation flow.
Masking: Native support for PII redaction on sensitive columns (e.g.,
password_hash,ssn).Transaction Wrapping: All multi-statement operations are executed inside durable
BEGIN/COMMITblocks.
🛠️ Configuration
Configure your environment variables in .env:
Variable | Description | Default |
| Primary PostgreSQL DSN | Required |
| Optional replica DSN for read routing |
|
|
|
|
| Comma-separated list of columns to redact |
|
| Hard upper limit for result pages |
|
| Warning threshold for latency |
|
📋 Toolset API
query(sql, params, page, page_size): Executes validated SQL. Includes auto-pagination.nl_query(request, context): High-level translation interface (requires LLM bridge).schema_inspect(schema, table): Deep introspection of schema metadata.list_tables(schema): Optimized enumeration of current database schema.describe_table(schema, table): Column definitions, indexes, and FK relationships.explain(sql, params): Transparent query analyzer with cost estimation.transaction(operations): Atomic batch execution for complex mutations.confirm_ddl(token): Final execution of verified schema changes.
🚦 Getting Started
Development
npm install
npm run build
npm run startIntegration with Claude Desktop
Add to yours claude_desktop_config.json:
{
"mcpServers": {
"postgres": {
"command": "node",
"args": ["/absolute/path/to/mcp-server-postgres/dist/index.js"],
"env": {
"DATABASE_URL": "postgresql://user:pass@localhost:5432/db",
"PERMISSION_TIER": "READ_WRITE"
}
}
}
}📈 Observability & Logging
All operations are logged via pino for enterprise observability.
{
"level": "INFO",
"module": "audit",
"operation_type": "QUERY",
"affected_tables": ["public.users"],
"execution_ms": 12.4,
"row_count": 8,
"agent_identity": "mcp-server-postgres"
}⚖️ License
MIT License. Created with precision by Ismail-2001.
This server cannot be deployed
Maintenance
Related MCP Connectors
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.
Safe, read-only Postgres and MySQL access for AI agents. Audit log + column-level controls.
Versioned agent memory in your own Postgres: portable context, permissioned, audit trail.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables LLMs to query and analyze PostgreSQL databases through a controlled interface. Supports SQL query execution, table schema inspection, and optional write operations with safety controls.122 npm180MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to execute SQL queries and introspect PostgreSQL schemas, tables, and indexes with read-only safety by default. Supports optional write operations and works with Claude, LangChain, and other agents via stdio or HTTP transports.-
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with PostgreSQL databases through natural language queries, schema inspection, and safe SQL execution.4 npm1-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to query a PostgreSQL database through a small set of controlled, read-only tools for schema inspection, row lookup, and aggregate statistics.1MIT