MCP Server for Database (PostgreSQL and MySQL)
!Python !PostgreSQL !MySQL !Docker !HTTP
A Model Context Protocol server that provides access to PostgreSQL or MySQL. This server enables LLMs to inspect database schemas and execute queries.
Key Features
- Autonomous Schema Discovery: AI agents can list tables and inspect columns to understand your data structure without manual intervention.
- Security First (Read-Only): Strictly enforces read-only access. Only
SELECT,WITH,SHOW,DESCRIBE, andEXPLAINstatements are permitted. - Multi-Database Support: Seamlessly connects to PostgreSQL and MySQL (SQL Server & SQLite support coming soon).
- Flexible Deployment: Supports multiple transport modes including stdio (for local IDEs), HTTP/SSE (for cloud APIs), and Docker.
Available Tools
The server exposes the following tools to AI clients:
| Tool | Capability | User Intent Example | | :--- | :--- | :--- | | list-tables | Lists all accessible tables in the database. | "What tables are available in the schema?" | | describe-table | Retrieves column details, data types, and constraints. | "Tell me about the 'Inventory' table structure." | | execute-query | Executes safe, read-only SQL queries to fetch live data. | "Who are the top 5 customers by revenue today?" |
Architecture Overview
graph TD
A[AI Assistant] -->|MCP Protocol| B{MCP Server}
subgraph "Deployment Modes"
B -->|stdio| C[Local IDE: VSCode/Cursor]
B -->|HTTP/SSE| D[Cloud/Remote API]
B -->|Docker| E[Containerized Service]
end
B -->|Read-Only SQL| F[(PostgreSQL / MySQL)]
[!TIP] Dive Deeper: For a detailed breakdown of the communication flow, sequence diagrams, and deployment strategies, please check out our Full Architecture Guide
Quick Start
1. Installation
pip install -r requirements.txt
2. Run with Docker (Recommended)
Update the DATABASE_URI in docker-compose.yaml and run:
docker compose up --build
3. Run Locally
# PostgreSQL
python -m src --connection-string "postgresql://user:pass@localhost:5432/db"
# MySQL
python -m src --connection-string "mysql+pymysql://user:pass@localhost:3306/db"
AI Client Configuration
Claude Desktop
Add this to your claude_desktop_config.json:
{
"mcpServers": {
"sql-intelligence": {
"command": "python",
"args": ["-m", "src", "--connection-string", "your_connection_string"],
"cwd": "/path/to/project"
}
}
}
VSCode (Cline / Roo Code)
Create .vscode/mcp.json in your workspace:
{
"mcpServers": {
"database": {
"command": "python",
"args": [
"-m", "src",
"--connection-string", "postgresql://user:pass@localhost:5432/mydb"
],
"cwd": "/path/to/mcp-for-database"
}
}
}
Security Guardrails
The server utilizes a strict Regex-based validation layer. Any query that does not start with an authorized read-only keyword is blocked immediately to prevent unauthorized data modification.
Roadmap
- [ ] Support for SQL Server and SQLite.
- [ ] Integration of Audit Logs for tracking AI query behaviors.
- [ ] Semantic Search capabilities combining SQL and Vector DB.
Project Demo
You can watch the full demo of this MCP Server for Database on YouTube: Watch here











