The PostgreSQL MCP server enables Claude to interact with PostgreSQL databases for querying, schema inspection, and data management.
Features
- Query Execution: Run SELECT, INSERT, UPDATE, DELETE queries
- Schema Inspection: View tables, columns, indexes, and relationships
- Transaction Support: Execute queries within transactions
- Query Explanation: Analyze query performance with EXPLAIN
Installation
npx @community/mcp-postgres
Configuration
{
"mcpServers": {
"postgres": {
"command": "npx",
"args": ["@community/mcp-postgres"],
"env": {
"DATABASE_URL": "postgresql://user:pass@localhost:5432/dbname"
}
}
}
}
Available Tools
query
Execute a SQL query.
{
"sql": "SELECT * FROM users WHERE active = true LIMIT 10"
}
describe_table
Get table schema information.
{
"table": "users"
}
list_tables
List all tables in the database.
{
"schema": "public"
}
explain
Analyze query performance.
{
"sql": "SELECT * FROM orders JOIN users ON orders.user_id = users.id",
"analyze": true
}
Security Considerations
- Use read-only database users when possible
- Never expose production credentials
- Consider using connection pooling
- Set appropriate query timeouts
Example Workflows
Data Exploration
-- List tables
SELECT table_name FROM information_schema.tables WHERE table_schema = 'public';
-- Describe table
\d users
-- Sample data
SELECT * FROM users LIMIT 5;
Performance Analysis
EXPLAIN ANALYZE SELECT * FROM orders WHERE created_at > '2025-01-01';