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▶
Warning:
only use when requested or if other commands fail
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. Supports both PostgreSQL-style ($1, $2) and MySQL-style (?) parameter 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 prepared statement parameters. Supports both PostgreSQL-style ($1, $2) and MySQL-style (?) parameter placeholders.
use_mcp_tool({
server_name: "postgres",
tool_name: "execute",
arguments: {
sql: "INSERT INTO users (name, email) VALUES ($1, $2)",
params: ["John Doe", "john@example.com"]
}
});
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
OpenAPI/Swagger MCP Server
Swagger MCP servers enable AI models to interact with APIs defined by Swagger specifications, providing capabilities for automatic tool generation, API key handling, and dynamic interaction with various APIs.
Auth0 MCP Server
Auth0 MCP server enables AI models to interact with Auth0 identity and access management platform, providing capabilities for managing applications, users, roles, and authentication flows.
Playwright MCP Server
Playwright MCP servers enable AI models to perform cross-browser automation, modern web testing, accessibility testing, and end-to-end testing workflows using Playwright's powerful browser automation capabilities.