mcp-postgresql
A production-oriented MCP server for PostgreSQL that exposes database operations like query execution, schema introspection, and table metadata to MCP clients such as Claude Desktop and VS Code.
README
mcp-postgresql
Production-oriented MCP server for PostgreSQL, exposing database operations to MCP clients (Claude Desktop, VS Code Copilot, Cursor, and compatible hosts).
Features
- Query execution (
SELECT,INSERT,UPDATE,DELETE) - Database discovery and schema introspection
- Table metadata inspection (columns, types, nullability, defaults, PK)
- Index and foreign key discovery
- Environment-driven configuration for secure deployment
Available Tools
| Tool | Description |
|---|---|
execute_query |
Executes a SQL statement and returns rows or affected row count |
list_tables |
Lists tables from INFORMATION_SCHEMA.TABLES (optional schema filter) |
describe_table |
Returns table column metadata and primary key markers |
list_databases |
Lists all PostgreSQL databases |
get_table_indexes |
Lists table indexes with definitions and PK/unique flags |
get_foreign_keys |
Lists table foreign keys and referenced targets |
Requirements
- Node.js 18+
- Access to a PostgreSQL instance
- Network connectivity from MCP host to PostgreSQL (
host:port)
Configuration
Set connection settings using environment variables:
| Variable | Required | Default | Description |
|---|---|---|---|
PGHOST (or POSTGRES_HOST) |
No | localhost |
PostgreSQL host or IP |
PGPORT (or POSTGRES_PORT) |
No | 5432 |
PostgreSQL TCP port |
PGDATABASE (or POSTGRES_DB) |
No | postgres |
Default database |
PGUSER (or POSTGRES_USER) |
Yes | — | Database user |
PGPASSWORD (or POSTGRES_PASSWORD) |
Yes | — | Database password |
PGSSL (or POSTGRES_SSL) |
No | false |
Enables SSL/TLS |
PGPOOL_MAX |
No | 10 |
Max pool connections |
PGPOOL_IDLE_TIMEOUT_MS |
No | 30000 |
Pool idle timeout (ms) |
Usage
Run directly from GitHub
npx github:ferronicardoso/mcp-postgresql
Claude Desktop configuration
%APPDATA%\\Claude\\claude_desktop_config.json:
{
"mcpServers": {
"postgresql": {
"command": "npx",
"args": ["github:ferronicardoso/mcp-postgresql"],
"env": {
"PGHOST": "localhost",
"PGPORT": "5432",
"PGDATABASE": "postgres",
"PGUSER": "postgres",
"PGPASSWORD": "your-password"
}
}
}
}
VS Code MCP configuration
.vscode/mcp.json:
{
"servers": {
"postgresql": {
"command": "npx",
"args": ["github:ferronicardoso/mcp-postgresql"],
"env": {
"PGHOST": "localhost",
"PGPORT": "5432",
"PGDATABASE": "postgres",
"PGUSER": "postgres",
"PGPASSWORD": "your-password"
}
}
}
}
Local Development
git clone https://github.com/ferronicardoso/mcp-postgresql
cd mcp-postgresql
npm install
npm run build
Start the compiled server:
npm start
Build and Commit Workflow
This repository intentionally tracks dist/ to support npx github:user/repo usage.
The project uses a Husky pre-commit hook to:
- build TypeScript (
npm run build) - stage generated artifacts (
git add dist)
Manual fallback:
npm run build
git add dist
Security Notes
- Never commit real credentials or
.envfiles. - Prefer least-privilege database users for production use.
- For public or untrusted networks, enable encryption (
PGSSL=true) and configure certificates appropriately.
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.