Skip to main content
Glama

PostgreSQL MCP Server

by logesh-001

🚀 PostgreSQL MCP Server

A lightweight Model Context Protocol (MCP) server for executing PostgreSQL queries.

This project enables an MCP-compatible client to run SQL queries (both SELECT and non-SELECT) directly on a PostgreSQL database. The server supports both standard input/output and HTTP (REST API) communication modes.


🧩 What is MCP (Model Context Protocol)?

MCP is a universal protocol for connecting external tools, data sources, and services to AI models in a standardized way.

  • Why MCP? MCP eliminates the need for custom integrations per tool, providing a common API for interacting with various resources.
  • How does this project fit in? This repo gives you an MCP server for PostgreSQL:
    • Send SQL queries from any MCP-compatible client.
    • Receive results in structured JSON.
    • Seamlessly use PostgreSQL as a knowledge base or app datastore.

✨ Features

  • Execute direct PostgreSQL queries via MCP.
  • Supports:
    • Data retrieval: SELECT queries return rows.
    • Database changes: INSERT, UPDATE, DELETE, CREATE, and more return success status.
  • Dual operation modes:
    • stdio (standard in/out)
    • http (REST API server)
  • Structured logging with loguru.
  • Built for educational, hackable use (not hardened for production).

⚡ Requirements

  • Python 3.9+
  • A running PostgreSQL database
  • Dependencies:
    • psycopg2 (SQL driver)
    • loguru (logging)
    • mcp (Model Context Protocol library)

📂 Project Structure

. ├── .venv/ # Local virtual environment (should be gitignored) ├── .gitignore # Ignore rules for git ├── .python-version # Python version file ├── code.txt # (Optional: dev notes or scratch work) ├── main.py # CLI entry point to start the server ├── pyproject.toml # Project dependencies and metadata ├── README.md # This documentation file ├── server.py # PostgreSQL MCP server implementation └── uv.lock # Dependency lockfile for reproducible installs

🛠 Setup & Usage

1. Clone the repository

git clone https://github.com/<your-username>/<your-repo-name>.git cd <your-repo-name>

2. Install dependencies

uv sync

3. Run the server

HTTP mode:

python server.py --mode http --port 9000

Stdio mode (for integration as a tool):

python server.py --mode stdio

🧰 Development Notes

  • All logic is contained in server.py.
  • main.py should be a minimal CLI entry point that parses arguments and starts the server.
  • Feel free to reorganize into a package structure if your codebase grows.

👨‍💻 Author

Created with ❤️ by Loki


Tip: Remember to update your .gitignore to exclude .venv/, __pycache__/, and other cache files for a clean repository.


Happy querying

-
security - not tested
F
license - not found
-
quality - not tested

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Enables direct execution of PostgreSQL queries through the Model Context Protocol. Supports both SELECT and non-SELECT operations with dual communication modes (stdio and HTTP REST API).

  1. 🧩 What is MCP (Model Context Protocol)?
    1. ✨ Features
      1. ⚡ Requirements
        1. 📂 Project Structure
          1. 🛠 Setup & Usage
            1. 1. Clone the repository
            2. 2. Install dependencies
            3. 3. Run the server
          2. 🧰 Development Notes
            1. 👨‍💻 Author

              Related MCP Servers

              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server providing both read and write access to PostgreSQL databases, enabling LLMs to query data, modify records, and manage database schemas.
                Last updated -
                635
                7
              • A
                security
                A
                license
                A
                quality
                A Model Context Protocol server that enables powerful PostgreSQL database management capabilities including analysis, schema management, data migration, and monitoring through natural language interactions.
                Last updated -
                18
                699
                119
                AGPL 3.0
                • Linux
                • Apple
              • -
                security
                A
                license
                -
                quality
                A Model Context Protocol server that enables interaction with PostgreSQL databases to list tables, retrieve schemas, and execute read-only SQL queries.
                Last updated -
                23
                MIT License
                • Linux
                • Apple
              • -
                security
                F
                license
                -
                quality
                A Model Context Protocol server implementation that provides a simple interface to interact with PostgreSQL databases, enabling SQL queries, database operations, and schema management through MCP.
                Last updated -

              View all related MCP servers

              MCP directory API

              We provide all the information about MCP servers via our MCP API.

              curl -X GET 'https://glama.ai/api/mcp/v1/servers/logesh-001/PostgresMCP'

              If you have feedback or need assistance with the MCP directory API, please join our Discord server