Postgres-MCP-Server-With-SSE-Transport
0
The MCP Server is designed to facilitate flexible AI model integration with secure configuration management and PostgreSQL support. It leverages communication transports like SSE and offers extensibility for tool registration and AI provider configuration.
MCP (Model Context Protocol) Server
Project Structure
├── client.py # Client-side interaction script
├── server.py # Main MCP server implementation
├── pg_connect.py # PostgreSQL database connection
├── lm_config.py # Language model configuration
│
├── .env.example # Example environment configuration
├── .env.dev # Development environment configuration
├── requirements.txt # Project dependencies
└── .gitignore # Git ignore file
Prerequisites
- Python 3.10+
- PostgreSQL
- API access to AI providers (Anthropic, Google)
Installation
1. Clone the Repository
git https://github.com/VajraM-dev/Postgres-MCP-Server-With-SSE-Transport.git
2. Create Virtual Environment
python -m venv venv
source venv/bin/activate # On Windows, use `venv\Scripts\activate`
3. Install Dependencies
pip install -r requirements.txt
4. Configure Environment
- Copy
.env.example
to.env.dev
- Fill in the required configuration:
cp .env.example .env.dev
nano .env.dev # or use your preferred text editor
Configuration Parameters
POSTGRES_USERNAME
: PostgreSQL database usernamePOSTGRES_PASSWORD
: PostgreSQL database passwordPOSTGRES_DB_NAME
: Database namePOSTGRES_HOST
: Database hostPOSTGRES_PORT
: Database portMCP_NAME
: Server nameMCP_HOST
: Server hostMCP_PORT
: Server portTRANSPORT
: Communication transport (sse/stdio)ANTHROPIC_API_KEY
: Anthropic API keyGOOGLE_API_KEY
: Google API keyUSE_PROVIDER
: Default AI provider
Running the Server
Development Mode
python server.py
Client Interaction
python client.py
Key Features
- 🔒 Secure configuration management
- 🗃️ PostgreSQL database integration
- 🤖 Multi-provider AI model support
- 📡 Flexible communication transport
- 🛡️ Extensible tool registration
Supported AI Providers
- Anthropic (Claude models)
- Google (Gemini models)
Tools and Endpoints
Available Tools
list_tables()
: Retrieve database tables- Custom tools can be easily added via decorators
Endpoints
/sse
: Server-Sent Events endpoint- Customizable routing and tool registration
Extending the Framework
Adding New Tools
@app.tool()
def custom_tool():
"""Custom tool implementation"""
# Your tool logic here
Configuring AI Providers
Modify lm_config.py
to add or configure new AI providers.