PostgreSQL MCP Server
PostgreSQL MCP servers enable AI models to interact with PostgreSQL databases, providing capabilities for structured data operations, SQL queries, transaction management, and advanced data indexing.
Overview
The MCP Postgres Server bridges AI and databases by letting language models (LLMs) work directly with PostgreSQL. It's part of the Model Context Protocol (MCP) system, providing a safe and standard way to connect AI with data.
Created by:
Developed by Anton Orlov
Key Features
Database Structure Inspection
View and understand database schemas, tables, and their relationships
Natural Language to SQL
Convert natural language queries into SQL commands seamlessly
Efficient Query Handling
Execute and manage query results with prepared statements support
Smart Data Formatting
Format and present data in readable, AI-friendly formats
Available Tools
Quick Reference
| Tool | Purpose | Category |
|---|---|---|
connect_db | Establish database connection | Connection |
query | Execute SELECT queries | Read |
execute | Execute INSERT/UPDATE/DELETE | Write |
list_schemas | List all database schemas | Schema |
list_tables | List tables in a schema | Schema |
describe_table | Get table structure details | Schema |
Detailed Usage
connect_dbβΆ
Runtime Connection Requires Opt-In:
This tool is available only when PG_ENABLE_RUNTIME_CONNECT=true.
Establish connection to PostgreSQL database using provided credentials.
use_mcp_tool({
server_name: "postgres",
tool_name: "connect_db",
arguments: {
host: "localhost",
port: 5432,
user: "your_user",
password: "your_password",
database: "your_database"
}
});
queryβΆ
Execute SELECT queries with optional prepared statement parameters using PostgreSQL-style ($1, $2) placeholders.
use_mcp_tool({
server_name: "postgres",
tool_name: "query",
arguments: {
sql: "SELECT * FROM users WHERE id = $1",
params: [1]
}
});
executeβΆ
Execute INSERT, UPDATE, or DELETE queries with optional PostgreSQL-style ($1, $2) prepared statement parameters. Writes require PG_ALLOW_WRITE=true.
use_mcp_tool({
server_name: "postgres",
tool_name: "execute",
arguments: {
sql: "INSERT INTO users (name, email) VALUES ($1, $2)",
params: ["John Doe", "[email protected]"]
}
});
list_schemasβΆ
List all schemas in the database
use_mcp_tool({
server_name: "postgres",
tool_name: "list_schemas",
arguments: {}
});
list_tablesβΆ
List tables in the connected database. Accepts an optional schema parameter (defaults to 'public').
// List tables in the 'public' schema (default)
use_mcp_tool({
server_name: "postgres",
tool_name: "list_tables",
arguments: {}
});
// List tables in a specific schema
use_mcp_tool({
server_name: "postgres",
tool_name: "list_tables",
arguments: {
schema: "my_schema"
}
});
describe_tableβΆ
Get the structure of a specific table. Accepts an optional schema parameter (defaults to 'public').
// Describe a table in the 'public' schema (default)
use_mcp_tool({
server_name: "postgres",
tool_name: "describe_table",
arguments: {
table: "users"
}
});
// Describe a table in a specific schema
use_mcp_tool({
server_name: "postgres",
tool_name: "describe_table",
arguments: {
table: "users",
schema: "my_schema"
}
});
Installation
{
"mcpServers": {
"postgres": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"mcp-postgres-server"
],
"env": {
"PG_HOST": "your_host",
"PG_PORT": "5432",
"PG_USER": "your_user",
"PG_PASSWORD": "your_password",
"PG_DATABASE": "your_database"
}
}
}
}
Sources
Related Articles & Guides
Airtable MCP Server
Airtable MCP servers enable AI models to interact with Airtable bases, providing capabilities for base management, record operations, field configuration, and structured data automation.
ArangoDB MCP Server
ArangoDB MCP servers enable AI models to interact with ArangoDB databases, providing capabilities for document operations, graph queries, AQL queries, and multi-model data management.
ClickHouse MCP Server
ClickHouse MCP servers enable AI models to interact with ClickHouse databases, providing capabilities for high-performance analytical queries, data warehousing, and real-time analytics.