MCP PostgreSQL Server
A Model Context Protocol (MCP) server that provides tools for querying and inspecting a PostgreSQL database.
Features
- Execute Queries: Run standard SQL queries (SELECT, INSERT, UPDATE, etc.)
- List Schemas: View available schemas in the database
- List Tables: See tables within a specific schema
- Describe Tables: Get detailed column information for any table
Prerequisites
- Python 3.8+
- PostgreSQL database
pip(Python package installer)
Setup
- Clone the repository (if not already done)
- Install dependencies:
pip install -r requirements.txt
- Configure Environment:
- Copy
.env.exampleto.env:
cp .env.example .env # On Windows: copy .env.example .env
- Edit
.envand fill in your PostgreSQL credentials:
DB_HOST=localhost
DB_PORT=5432
DB_NAME=your_database
DB_USER=your_username
DB_PASSWORD=your_password
Usage
Running Locally
To run the server locally for testing:
python server.py
Testing Connection
You can verify your database connection configuration using the included test script:
python test_connection.py
Integrating with MCP Client (e.g., Claude Desktop, IDEs)
Add the server configuration to your MCP client settings:
{
"mcpServers": {
"postgres": {
"command": "python",
"args": ["/path/to/mcp-postgres-simple/server.py"]
}
}
}
Tools Available
execute_query(query: str): Execute a SQL querylist_schemas(): List all non-system schemaslist_tables(schema: str = None): List tables in database or specific schemadescribe_table(table_name: str, schema: str = 'public'): Get column details for a table











