Skip to main content
Glama
logesh-001

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.


Related MCP server: PostgreSQL MCP Server

✨ 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

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

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